This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug malloc/16159] New: malloc_printerr() deadlock, when calling malloc_printerr() again
- From: "darryl.miles at darrylmiles dot org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 13 Nov 2013 03:30:35 +0000
- Subject: [Bug malloc/16159] New: malloc_printerr() deadlock, when calling malloc_printerr() again
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=16159
Bug ID: 16159
Summary: malloc_printerr() deadlock, when calling
malloc_printerr() again
Product: glibc
Version: 2.12
Status: NEW
Severity: normal
Priority: P2
Component: malloc
Assignee: unassigned at sourceware dot org
Reporter: darryl.miles at darrylmiles dot org
malloc_printerr() on error detection "free(): invalid next size (fast)" ends up
calling into:
backtrace.c:init()
dl-libc.c:do_dlopen()
malloc.c:calloc()
malloc.c:malloc_printerr()
The malloc error reporting should only report the first error, not attempt to
recusively report all error (we knew it was corrupted at the outer most point,
so any further work inside malloc is also likely to find corruption).
Full stack trace to follow.
The main problem is the process does not abort() and die, it hangs around in:
pthread_once.S:pthread_one()
backtrace.c:__backtrace()
I think due to recursive lock, this lock should trylock() on the 2nd time and
abort() the process immediately. It does appear to deadlock itself.
--
You are receiving this mail because:
You are on the CC list for the bug.
- Follow-Ups:
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: darryl.miles at darrylmiles dot org
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: darryl.miles at darrylmiles dot org
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: carlos at redhat dot com
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: carlos at redhat dot com
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: neleai at seznam dot cz
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: darryl.miles at darrylmiles dot org
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: darryl.miles at darrylmiles dot org
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: neleai at seznam dot cz
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: bugdal at aerifal dot cx
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: carlos at redhat dot com
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: joseph at codesourcery dot com
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: neleai at seznam dot cz
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: bugdal at aerifal dot cx
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: bugdal at aerifal dot cx
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: joseph at codesourcery dot com
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: joseph at codesourcery dot com
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: neleai at seznam dot cz
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: bugdal at aerifal dot cx
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: neleai at seznam dot cz
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: bugdal at aerifal dot cx
- [Bug malloc/16159] malloc_printerr() deadlock, when calling malloc_printerr() again
- From: eblake at redhat dot com