Fredrik, The sre module currently segfaults on one of the tests suite tests on both Win64 and 64-bit linux: [trentm@nickel src]$ ./python -c "import sre; sre.match('(x)*', 50000*'x')" > srefail.out Segmentation fault (core dumped) I know that I can't expect you to debug this completely, as you don't have to hardware, but I was hoping you might be able to shed some light on the subject for me. This test on Win32 and Linux32 hits the recursion limit check of 10000 in SRE_MATCH(). However, on Linux64 the segfault occurs at a recursion depth of 7500. I don't want to just willy-nilly drop the recursion limit down to make the problem go away. Do you have any idea why the segfault may be occuring on 64-bit platforms? Mark (Favas), have you been having any problems with sre on your 64-bit plats? In the example above I turned VERBOSE on in _sre.c. WOuld the trace help you? Here is the last of it (the whole thing is 2MB so I am not sending it all): copy 0:1 to 15026 (2) |0x600000000020b90c|0x6000000000200d72|ENTER 7517 |0x600000000020b90e|0x6000000000200d72|MARK 0 |0x600000000020b912|0x6000000000200d72|LITERAL 120 |0x600000000020b916|0x6000000000200d73|MARK 1 |0x600000000020b91a|0x6000000000200d73|MAX_UNTIL 7515 copy 0:1 to 15028 (2) |0x600000000020b90c|0x6000000000200d73|ENTER 7518 |0x600000000020b90e|0x6000000000200d73|MARK 0 |0x600000000020b912|0x6000000000200d73|LITERAL 120 |0x600000000020b916|0x6000000000200d74|MARK 1 |0x600000000020b91a|0x6000000000200d74|MAX_UNTIL 7516 copy 0:1 to 15030 (2) |0x600000000020b90c|0x6000000000200d74|ENTER 7519 |0x600000000020b90e|0x6000000000200d74|MARK 0 |0x600000000020b912|0x6000000000200d74|LITERAL 120 |0x600000000020b916|0x6000000000200d75|MARK 1 |0x600000000020b91a|0x6000000000200d75|MAX_UNTIL 7517 copy 0:1 to 15032 (2) |0x600000000020b90c|0x6000000000200d75|ENTER 7520 |0x600000000020b90e|0x6000000000200d75|MARK 0 |0x600000000020b912|0x6000000000200d75|LITERAL 120 |0x600000000020b916|0x6000000000200d76|MARK 1 |0x600000000020b91a|0x6000000000200d76|MAX_UNTIL 7518 copy 0:1 to 15034 (2) |0x600000000020b90c|0x6000000000200d76|ENTER 7521 |0x600000000020b90e|0x6000000000200d76|MARK 0 |0x600000000020b912|0x6000000000200d76|LITERAL 120 |0x600000000020b916|0x6000000000200d77|MARK 1 |0x600000000020b91a|0x6000000000200d77|MAX_UNTIL 7519 copy 0:1 to 15036 (2) |0x600000000020b90c|0x600 Thanks, Trent -- Trent Mick TrentM@ActiveState.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4