|
From: Alex B. <ker...@be...> - 2006-07-10 18:21:35
|
Hi, I'm testing a multi-threaded app although the second thread is just a background listening thread. Semi-redacted the subject was at: Thread 1: status = VgTs_Runnable ==31252== at 0x4104F57: operator new(unsigned long) (vg_replace_malloc.c:167) And Thread 2: status = VgTs_WaitSys ==31252== at 0x3B73EBC6B2: poll (in /lib64/tls/libc-2.3.4.so) And the error that got dumped: ==31252== Address 0x4361678 is not stack'd, malloc'd or (recently) free'd --31252-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting --31252-- si_code=1; Faulting address: 0x0; sp: 0x4032AEE00 valgrind: the 'impossible' happened: Killed by fatal signal ==31252== at 0x380218A7: unlinkBlock (m_mallocfree.c:189) ==31252== by 0x38021EB3: vgPlain_arena_malloc (m_mallocfree.c:1055) ==31252== by 0x38037A9A: vgPlain_cli_malloc (replacemalloc_core.c:101) ==31252== by 0x380015DC: vgMemCheck___builtin_new (mc_malloc_wrappers.c:182) ==31252== by 0x38039B9E: do_client_request (scheduler.c:1158) ==31252== by 0x38039453: vgPlain_scheduler (scheduler.c:869) ==31252== by 0x3804CD6E: thread_wrapper (syswrap-linux.c:87) ==31252== by 0x3804CE65: run_a_thread_NORETURN (syswrap-linux.c:120) Need any more information? -- Alex, homepage: http://www.bennee.com/~alex/ Alden's Laws: (1) Giving away baby clothes and furniture is the major cause of pregnancy. (2) Always be backlit. (3) Sit down whenever possible. |
|
From: Tom H. <to...@co...> - 2006-07-10 19:28:28
|
In message <115...@ok...>
Alex Bennee <ker...@be...> wrote:
> I'm testing a multi-threaded app although the second thread is just a
> background listening thread. Semi-redacted the subject was at:
>
> Thread 1: status = VgTs_Runnable
> ==31252== at 0x4104F57: operator new(unsigned long)
> (vg_replace_malloc.c:167)
>
> And
>
> Thread 2: status = VgTs_WaitSys
> ==31252== at 0x3B73EBC6B2: poll (in /lib64/tls/libc-2.3.4.so)
>
> And the error that got dumped:
>
> ==31252== Address 0x4361678 is not stack'd, malloc'd or (recently)
> free'd
> --31252-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11
> (SIGSEGV) - exiting
> --31252-- si_code=1; Faulting address: 0x0; sp: 0x4032AEE00
>
> valgrind: the 'impossible' happened:
> Killed by fatal signal
> ==31252== at 0x380218A7: unlinkBlock (m_mallocfree.c:189)
> ==31252== by 0x38021EB3: vgPlain_arena_malloc (m_mallocfree.c:1055)
> ==31252== by 0x38037A9A: vgPlain_cli_malloc
> (replacemalloc_core.c:101)
> ==31252== by 0x380015DC: vgMemCheck___builtin_new
> (mc_malloc_wrappers.c:182)
> ==31252== by 0x38039B9E: do_client_request (scheduler.c:1158)
> ==31252== by 0x38039453: vgPlain_scheduler (scheduler.c:869)
> ==31252== by 0x3804CD6E: thread_wrapper (syswrap-linux.c:87)
> ==31252== by 0x3804CE65: run_a_thread_NORETURN (syswrap-linux.c:120)
>
> Need any more information?
This is almost certainly caused by your program corrupting the heap
data structure by writing past the end of an allocated block.
Fix the errors valgrind has already reported (especially any invalid
write errors) and see if it still happens after that.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|