-
Notifications
You must be signed in to change notification settings - Fork 559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
several segfaults new in bleedperl #2322
Comments
From [email protected]Created by [email protected]I've been busy today -- what follows are reports on seven mostly-different They're all related in that they all use (??{...}). Problem #1: the following program segfaults with bleedperl, but not 5.6.0: use strict; $_ = "1"; m{ (??{ $foo }) }x; With 5.6.0: With bleedperl: foo at (re_eval 1) line 1. Here's the backtrace jfriedl@fummy> gdb ./perl Program received signal SIGSEGV, Segmentation fault. My bleedperl is compiled with Perl's malloc. I had another problem earlier ----------------------------------------------------------------- Problem#2: ----------------------------------------------------------------- Problem#3: eval { print "result is [$@]\n"; Generates: I don't think there's anything read-only about $foo or $_, the two variables ----------------------------------------------------------------- Problem#4: If you then add a print before the result-print line, eval { print "before\n" it then segfaults: jfriedl@fummy> gdb ./perl Program received signal SIGSEGV, Segmentation fault. ----------------------------------------------------------------- Problem#5: If you take the first program above and inline the $foo regex directly into use strict; $_ = "1"; m{ (??{ qr{(\d+) you then get ----------------------------------------------------------------- Problem#6: Making the program even smaller use re 'eval'; and you get a segfault (gdb dump below). Here's the gdb dump: jfriedl@fummy> gdb ./perl Program received signal SIGSEGV, Segmentation fault. ----------------------------------------------------------------- Problem #7: then, removing the "use re 'eval'" from that small one, you jfriedl@fummy> ./perl -we 'm{ (??{ qr{(\d+)} }) }x;' I don't know how related these all are. Perl Info
|
From @jhi
Sigh. The (?? truly is experimental. |
From @vanstynIn <20000807112700.A2773@chaos.wustl.edu>, Jarkko Hietaniemi writes: I have all of Jeffrey's recent reports filed for checking, but I Hugo |
From [Unknown Contact. See original ticket]With problem #6 on NT with 5.6.0, it looks like it all starts with an
|
From @vanstynI couldn't reproduce this with current bleadperl. :Problem#2: I couldn't reproduce this with current bleadperl. :Problem#3: This still happens, and appears to be related to the 'our'; shortest test :Problem#4: I couldn't reproduce the segfault with current bleadperl. :Problem#5: I couldn't reproduce this with current bleadperl. :Problem#6: I couldn't reproduce this with current bleadperl. :Problem #7: then, removing the "use re 'eval'" from that small one, you I couldn't reproduce this with current bleadperl. Hugo |
From @chornyhttp://rt.perl.org/rt3/Ticket/Display.html?id=3646 print "result is [$@]\n"; Now it segfaults in both 5.8.8 and 5.10. -- |
From @iabynOn Mon, Dec 15, 2008 at 11:02:43AM -0800, Alexandr Ciornii via RT wrote:
A new data point: it segfaults on 5.8.9, 5.10.x and bleed, but all only on threaded builds. -- |
From @cpansproutOn Mon Dec 15 11:02:41 2008, chorny wrote:
This has been fixed by the commits leading up to eb58a7e. |
@cpansprout - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#3646 (status was 'resolved')
Searchable as RT3646$
The text was updated successfully, but these errors were encountered: