From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3830 invoked by alias); 4 Aug 2003 15:53:11 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 3821 invoked from network); 4 Aug 2003 15:53:10 -0000 Received: from unknown (HELO e5.ny.us.ibm.com) (32.97.182.105) by sources.redhat.com with SMTP; 4 Aug 2003 15:53:10 -0000 Received: from northrelay02.pok.ibm.com (northrelay02.pok.ibm.com [9.56.224.150]) by e5.ny.us.ibm.com (8.12.9/8.12.2) with ESMTP id h74Fr94X209752 for ; Mon, 4 Aug 2003 11:53:09 -0400 Received: from srikrishnan (d01av02.pok.ibm.com [9.56.224.216]) by northrelay02.pok.ibm.com (8.12.9/NCO/VER6.5) with SMTP id h74Fr6sx128596 for ; Mon, 4 Aug 2003 11:53:08 -0400 Message-ID: <03eb01c35aa1$4f781490$9915b609@srikrishnan> From: "srikrish" To: Subject: lin-lwp.c:1317: internal-error: lin_lwp_wait: Assertion `iterate_over_lwps (runing_callback, NULL)' failed. Date: Mon, 04 Aug 2003 15:53:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-SW-Source: 2003-08/txt/msg00043.txt.bz2 Hi, I am getting an assertion failure/gdb-internal-error while running a multi-threaded program using the GDB20030731. Can some one point out if this is a known bug or is there a workaround? Error Message: lin-lwp.c:1317: internal-error: lin_lwp_wait: Assertion `iterate_over_lwps (runing_callback, NULL)' failed. The test program and output follows. I am using 2.4.19-3Suse-SMP kernel. (linuxthreads) Thanks, Srikrishnan Test Program: Please note that I am calling exec of the same program without arguments. #include #include void * threadproc(void * junk) { int i; printf("In threadproc pid:%d \n", getpid()); printf("\n getting up from sleep \n"); execv("myprog",0);=20 printf("exec failed \n"); } int main(int argc, char * argv) { int i; void * ret; pthread_t newthread; printf("entering main program. pid: %d \n", getpid()); if(argc >1) { pthread_create(&newthread, NULL, threadproc, NULL); printf("back to main. pid:%d \n",getpid()); } printf("end of main: %d \n", getpid()); } OUTOUT WHILE USING GDB after enabling printing of verbose/debug statements in gdb/lin-lwp.c >gdbdir/gdb myprog GNU gdb 20030731 Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "s390-ibm-linux"... (gdb) run somearg Starting program: /home/fultonm/bug3380/test3380nosleep somearg CW: waitpid 2122 received Trace/breakpoint trap (stopped) CW: waitpid 2122 received Trace/breakpoint trap (stopped) CW: waitpid 2122 received Trace/breakpoint trap (stopped) [New Thread 1024 (LWP 2122)] LLR: PTRACE_SINGLESTEP process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. SEL: Select single-step LWP 2122 LLW: trap_ptid is process 2122. LLR: PTRACE_CONT process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. LLW: trap_ptid is process 2122. LLR: PTRACE_SINGLESTEP process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. SEL: Select single-step LWP 2122 LLW: trap_ptid is process 2122. LLR: PTRACE_CONT process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. LLW: trap_ptid is process 2122. LLR: PTRACE_SINGLESTEP process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. SEL: Select single-step LWP 2122 LLW: trap_ptid is process 2122. LLR: PTRACE_CONT process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. LLW: trap_ptid is process 2122. [New Thread 2049 (LWP 2123)] LLAL: PTRACE_ATTACH LWP 2123, 0, 0 (OK) LLAL: waitpid LWP 2123 received Stopped (signal) (stopped) LLR: PTRACE_SINGLESTEP process 2122, 0 (resume event thread) LLW: waitpid 2122 received Trace/breakpoint trap (stopped) LLTA: PTRACE_PEEKUSER LWP 2122, 0, 0 (OK) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2122. SEL: Select single-step LWP 2122 LLW: trap_ptid is LWP 2122. RC: PTRACE_CONT LWP 2123, 0, 0 (resume sibling) LLR: PTRACE_CONT process 2122, 0 (resume event thread) LLW: waitpid 2123 received Real-time signal 0 (stopped) LLTA: PTRACE_PEEKUSER LWP 2123, 0, 0 (OK) LLW: PTRACE_CONT LWP 2123, Unknown signal 77 (preempt 'handle') LLW: waitpid 2123 received Trace/breakpoint trap (stopped) LLTA: PTRACE_PEEKUSER LWP 2123, 0, 0 (OK) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2123. SC: kill LWP 2122 **** SC: lwp kill 0 ERRNO-OK SWC: waitpid LWP 2122 received Stopped (signal) (stopped) SWC: CALLING LLTA LLTA: PTRACE_PEEKUSER LWP 2122, 0, 0 (OK) LLW: trap_ptid is LWP 2123. [New Thread 1026 (LWP 2124)] LLAL: PTRACE_ATTACH LWP 2124, 0, 0 (OK) LLAL: waitpid LWP 2124 received Stopped (signal) (stopped) LLR: PTRACE_SINGLESTEP process 2123, 0 (resume event thread) LLW: waitpid 2123 received Trace/breakpoint trap (stopped) LLTA: PTRACE_PEEKUSER LWP 2123, 0, 0 (OK) LLW: Candidate event Trace/breakpoint trap (stopped) in LWP 2123. SEL: Select single-step LWP 2123 LLW: trap_ptid is LWP 2123. RC: PTRACE_CONT LWP 2124, 0, 0 (resume sibling) RC: PTRACE_CONT LWP 2122, 0, 0 (resume sibling) LLR: PTRACE_CONT process 2123, 0 (resume event thread) LLW: waitpid 2124 received Real-time signal 0 (stopped) LLTA: PTRACE_PEEKUSER LWP 2124, 0, 0 (OK) LLW: PTRACE_CONT LWP 2124, Unknown signal 77 (preempt 'handle') In threadproc pid:2124 LLW: waitpid 2122 received Real-time signal 0 (stopped) getting up from sleep LLTA: PTRACE_PEEKUSER LWP 2122, 0, 0 (OK) back to main. pid:2122 LLW: PTRACE_CONT LWP 2122, Unknown signal 77 (preempt 'handle') LLW: waitpid 2122 received Real-time signal 1 (stopped) LLTA: PTRACE_PEEKUSER LWP 2122, 0, 0 (OK) LLW: PTRACE_CONT LWP 2122, Real-time signal 13 (preempt 'handle') LLW: waitpid 2124 received Real-time signal 0 (stopped) LLTA: PTRACE_PEEKUSER LWP 2124, 0, 0 (OK) LLW: PTRACE_CONT LWP 2124, Unknown signal 77 (preempt 'handle') LLW: waitpid 2123 received 0 (exited) LLW: LWP 2123 exited. LLW: waitpid 2122 received 0 (exited) SC: kill LWP 2124 **** SC: lwp kill 0 ERRNO-OK SWC: waitpid LWP 2124 received Trace/breakpoint trap (stopped) SWC: CALLING LLTA LLTA: PTRACE_PEEKUSER LWP 2124, 0, 0 (OK) PTRACE_CONT LWP 2124, 0, 0 (OK) SWC: Candidate SIGTRAP event in LWP 2124 SWC: waitpid LWP 2124 received Stopped (signal) (stopped) SWC: CALLING LLTA LLTA: PTRACE_PEEKUSER LWP 2124, 0, 0 (OK) LLW: LWP 2122 exited. lin-lwp.c:1317: internal-error: lin_lwp_wait: Assertion `iterate_over_lwps (run ing_callback, NULL)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) y Create a core file of GDB? (y or n) y Abort mymachine: /home/srik>