-
Notifications
You must be signed in to change notification settings - Fork 578
perlio & -Dm dumps core #5370
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 @vanstynCreated by @vanstyncrypt% ./perl -Dm -e 1 Stacktrace of the core file shows a stackbusting recursion of Perl Info
|
From @jhiOn Thu, Apr 25, 2002 at 02:47:03PM +0100, Hugo van der Sanden wrote:
Interesting: tru64@16153 doesn't enter a recursion, but instead -- |
From [Unknown Contact. See original ticket]Jarkko Hietaniemi <jhi@iki.fi> writes:
I am not sure what to say here. -Dm tries to print something when We either need to have another malloc() for PerlIO to use,
-- |
From @paulg1973Nick Ing-Simmons [mailto:nick.ing-simmons@elixent.com] wrote:
I submit that the way out is to first define the layers of abstraction. If <Perl Compiler & Interpreter> then it is pretty clear that <Storage Management> shouldn't call "up" the Seems to me the problem arises from a muddled definition of the abstract PG |
From @vanstynJarkko Hietaniemi <jhi@iki.fi> wrote: This recursion only occurs with usemymalloc, and it happens because 0x814f400: (00248) malloc 1008 bytes I guess this is a reentrancy problem: note that not long before the The 'unaligned' warnings are still in the critical section, but Hugo Inline Patch--- malloc.c.old Mon Mar 11 04:15:42 2002
+++ malloc.c Thu May 2 04:03:47 2002
@@ -356,9 +356,16 @@
#ifdef DEBUGGING
# undef DEBUG_m
-# define DEBUG_m(a) \
+# define DEBUG_m(a) \
STMT_START { \
- if (PERL_GET_INTERP) { dTHX; if (DEBUG_m_TEST) { a; } } \
+ if (PERL_GET_INTERP) { \
+ dTHX; \
+ if (DEBUG_m_TEST) { \
+ PL_debug &= ~DEBUG_m_FLAG; \
+ a; \
+ PL_debug |= DEBUG_m_FLAG; \
+ } \
+ } \
} STMT_END
#endif
@@ -1103,11 +1110,6 @@
return (NULL);
}
- DEBUG_m(PerlIO_printf(Perl_debug_log,
- "0x%"UVxf": (%05lu) malloc %ld bytes\n",
- PTR2UV(p), (unsigned long)(PL_an++),
- (long)size));
-
/* remove from linked list */
#if defined(RCHECK)
if ((PTR2UV(p)) & (MEM_ALIGNBYTES - 1)) {
@@ -1127,6 +1129,11 @@
nextf[bucket] = p->ov_next;
MALLOC_UNLOCK;
+
+ DEBUG_m(PerlIO_printf(Perl_debug_log,
+ "0x%"UVxf": (%05lu) malloc %ld bytes\n",
+ PTR2UV(p), (unsigned long)(PL_an++),
+ (long)size));
#ifdef IGNORE_SMALL_BAD_FREE
if (bucket >= FIRST_BUCKET_WITH_CHECK) |
Migrated from rt.perl.org#9027 (status was 'resolved')
Searchable as RT9027$
The text was updated successfully, but these errors were encountered: