-
Notifications
You must be signed in to change notification settings - Fork 577
[BUG 5.005_62 Assertation failed: "pp_ctl.c" line 2443] #727
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
Comments
From @schwern$ perl-devel -dw /usr/local/perl5.005_62/bin/pod2text Loading DB routines from perl5db.pl version 1.0403 Enter h or `h h' for help, run `perldoc perldebug' for more help. Assertion failed: file "pp_ctl.c", line 2443. Well, whatever it is, it ain't good. The program runs fine with -d, I get the same problem under _60 and _61 (except the assertation is at Summary of my perl5 (revision 5.0 version 5 subversion 62) configuration: Characteristics of this binary (from libperl): |
From @gsarOn Sat, 16 Oct 1999 02:45:00 EDT, Michael G Schwern wrote:
Try this patch. Sarathy Inline Patch-----------------------------------8<-----------------------------------
Change 4395 by gsar@auger on 1999/10/16 17:18:36
assumption about @_ always being non-REAL doesn't hold when
debugger is running; DB::sub() can call arbitrary stuff
that modifies @_ at will
Affected files ...
... //depot/perl/pp_hot.c#139 edit
Differences ...
==== //depot/perl/pp_hot.c#139 (text) ====
Index: perl/pp_hot.c
--- perl/pp_hot.c.~1~ Sat Oct 16 10:18:40 1999
+++ perl/pp_hot.c Sat Oct 16 10:18:40 1999
@@ -2537,7 +2537,13 @@
"%p entersub preparing @_\n", thr));
#endif
av = (AV*)PL_curpad[0];
- assert(!AvREAL(av));
+ if (AvREAL(av)) {
+ /* @_ is normally not REAL--this should only ever
+ * happen when DB::sub() calls things that modify @_ */
+ av_clear(av);
+ AvREAL_off(av);
+ AvREIFY_on(av);
+ }
#ifndef USE_THREADS
cx->blk_sub.savearray = GvAV(PL_defgv);
GvAV(PL_defgv) = (AV*)SvREFCNT_inc(av);
End of Patch. |
From @gsarOn Sat, 16 Oct 1999 10:38:01 PDT, I wrote:
You'll need this to go along with it also. Sarathy Inline Patch-----------------------------------8<-----------------------------------
Change 4397 by gsar@auger on 1999/10/16 18:30:14
another bug in change#3386 (CATCH_SET wasn't reverted correctly)
Affected files ...
... //depot/perl/perl.c#175 edit
Differences ...
==== //depot/perl/perl.c#175 (text) ====
Index: perl/perl.c
--- perl/perl.c.~1~ Sat Oct 16 11:30:18 1999
+++ perl/perl.c Sat Oct 16 11:30:18 1999
@@ -1244,7 +1244,7 @@
CATCH_SET(TRUE);
call_xbody((OP*)&myop, FALSE);
retval = PL_stack_sp - (PL_stack_base + oldmark);
- CATCH_SET(FALSE);
+ CATCH_SET(oldcatch);
}
else {
cLOGOP->op_other = PL_op;
End of Patch. |
From @schwernThose two appear to have done the trick. Thanks. Is there any way a test can be set up to catch its reappearance in the On Sat, Oct 16, 1999 at 11:49:54AM -0700, Gurusamy Sarathy wrote:
-- Michael G Schwern schwern@pobox.com |
From @gsarOn Sat, 16 Oct 1999 16:10:15 EDT, Michael G Schwern wrote:
One could write a simple debugger using DB.pm, and run the Sarathy |
Migrated from rt.perl.org#1629 (status was 'resolved')
Searchable as RT1629$
The text was updated successfully, but these errors were encountered: