From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15387 invoked by alias); 9 Sep 2008 22:11:23 -0000 Received: (qmail 15379 invoked by uid 22791); 9 Sep 2008 22:11:22 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-2.vmware.com (HELO smtp-outbound-2.vmware.com) (65.115.85.73) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 09 Sep 2008 22:10:47 +0000 Received: from mailhost2.vmware.com (mailhost2.vmware.com [10.16.64.160]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id 36B3D1F013; Tue, 9 Sep 2008 15:10:45 -0700 (PDT) Received: from [10.20.92.218] (promb-2s-dhcp218.eng.vmware.com [10.20.92.218]) by mailhost2.vmware.com (Postfix) with ESMTP id 2D1E28E58B; Tue, 9 Sep 2008 15:10:45 -0700 (PDT) Message-ID: <48C6F43D.90601@vmware.com> Date: Tue, 09 Sep 2008 22:11:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Joel Sherrill CC: "gdb@sourceware.org" Subject: Re: core dump when watchpoint set References: <48C68C26.3030305@oarcorp.com> In-Reply-To: <48C68C26.3030305@oarcorp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-09/txt/msg00058.txt.bz2 Hmmm, yeah, a null value is being passed up, resulting in a null type being sent to value_type, which dereferences it without null-checking. And in fact, the current source (breakpoint.c) does check b->val != NULL before it makes the corresponding call. So you can expect that this is fixed. Joel Sherrill wrote: > Hi, > > I wondered if this looked familiar and was fixed in > CVS. I am using gdb 6.8 targeting powerpc and running > the application using psim. When I set a watchpoint > and then run, gdb core dumps. > > If this isn't a known issue, can someone point me in > the direction of what to look at so I can fix it? > > > (gdb) watch _Thread_Executing > Watchpoint 5: _Thread_Executing > (gdb) info watchpoints > Num Type Disp Enb Address What > 1 breakpoint keep y 0x000091bc in _Internal_error_Occurred > at ../../../../../../current/c/src/../../cpukit/score/src/interr.c:53 > 2 breakpoint keep y 0x0000856c in rtems_fatal_error_occurred > at ../../../../../../current/c/src/../../cpukit/sapi/src/fatal.c:38 > 3 breakpoint keep y 0x0000d9dc in __assert at > ../../../../../../current/c/src/../../cpukit/libcsupport/src/__assert.c:48 > 4 breakpoint keep y 0x00001fdc in C_exception_handler > at > ../../../../../../../current/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors_init.c:119 > 5 watchpoint keep y _Thread_Executing > (gdb) r > Starting program: /home/joel/rtems-4.9-work/build/test/minimum.ralf > > Program received signal SIGSEGV, Segmentation fault. > value_type (value=0x0) at ../../gdb-6.8/gdb/value.c:269 > 269 { > Missing separate debuginfos, use: debuginfo-install expat.i386 > glibc.i686 ncurses.i386 readline.i386 > (gdb) bt > #0 value_type (value=0x0) at ../../gdb-6.8/gdb/value.c:269 > #1 0x080ca752 in coerce_array (arg=0x0) at ../../gdb-6.8/gdb/value.c:1677 > #2 0x080d6cf7 in value_equal (arg1=0x0, arg2=0xa23ecc8) at > ../../gdb-6.8/gdb/valarith.c:1603 > #3 0x080bdf7e in watchpoint_check (p=0xa1e3568) at > ../../gdb-6.8/gdb/breakpoint.c:2578 > #4 0x080fd9e3 in catch_errors (func=0x80bde40 , > func_args=0xa1e3568, > errstring=0xa23eb20 "Error evaluating expression for watchpoint > 5\n", mask=6) > at ../../gdb-6.8/gdb/exceptions.c:513 > #5 0x080bf262 in bpstat_stop_status (bp_addr=376, ptid={pid = 42, lwp = > 0, tid = 0}) > at ../../gdb-6.8/gdb/breakpoint.c:2790 > #6 0x080f3cb9 in handle_inferior_event (ecs=0xbf8436b4) at > ../../gdb-6.8/gdb/infrun.c:1980 > #7 0x080f5de7 in wait_for_inferior (treat_exec_as_sigtrap=0) at > ../../gdb-6.8/gdb/infrun.c:1042 > #8 0x080f5fb4 in proceed (addr=4294967295, siggnal=TARGET_SIGNAL_0, > step=0) at ../../gdb-6.8/gdb/infrun.c:844 > #9 0x080f1113 in run_command_1 (args=0x0, from_tty=1, > tbreak_at_main=) > at ../../gdb-6.8/gdb/infcmd.c:563 > #10 0x08053555 in execute_command (p=0xa0d90e1 "", from_tty=1) at > ../../gdb-6.8/gdb/top.c:449 > #11 0x08100eaf in command_handler (command=0xa0d90e0 "") at > ../../gdb-6.8/gdb/event-top.c:518 > #12 0x08101b47 in command_line_handler (rl=0xa1b8c10 "") at > ../../gdb-6.8/gdb/event-top.c:804 > #13 0x005e5892 in rl_callback_read_char () from /lib/libreadline.so.5 > #14 0x0810103b in rl_callback_read_char_wrapper (client_data=0x0) at > ../../gdb-6.8/gdb/event-top.c:177 > #15 0x08100a97 in handle_file_event (event_file_desc=0) at > ../../gdb-6.8/gdb/event-loop.c:728 > #16 0x080fff59 in process_event () at ../../gdb-6.8/gdb/event-loop.c:341 > #17 0x08100728 in gdb_do_one_event (data=0x0) at > ../../gdb-6.8/gdb/event-loop.c:378 > #18 0x080fd9e3 in catch_errors (func=0x8100610 , > func_args=0x0, errstring=0x83590e8 "", mask=6) > at ../../gdb-6.8/gdb/exceptions.c:513 > #19 0x080a9e2a in tui_command_loop (data=0x0) at > ../../gdb-6.8/gdb/tui/tui-interp.c:153 > #20 0x080fdfaf in current_interp_command_loop () at > ../../gdb-6.8/gdb/interps.c:276 > #21 0x0804c32b in captured_command_loop (data=0x0) at > ../../gdb-6.8/gdb/main.c:99 > #22 0x080fd9e3 in catch_errors (func=0x804c320 , > func_args=0x0, errstring=0x83590e8 "", > mask=6) at ../../gdb-6.8/gdb/exceptions.c:513 > #23 0x0804cb55 in captured_main (data=0xbf843c04) at > ../../gdb-6.8/gdb/main.c:882 > #24 0x080fd9e3 in catch_errors (func=0x804c360 , > func_args=0xbf843c04, errstring=0x83590e8 "", > mask=6) at ../../gdb-6.8/gdb/exceptions.c:513 > #25 0x0804c311 in gdb_main (args=0xbf843c04) at ../../gdb-6.8/gdb/main.c:891 > #26 0x0804c2d5 in main (argc=Cannot access memory at address 0x1 > ) at ../../gdb-6.8/gdb/gdb.c:33 > > > > > -- > Joel Sherrill, Ph.D. Director of Research & Development > joel.sherrill@OARcorp.com On-Line Applications Research > Ask me about RTEMS: a free RTOS Huntsville AL 35805 > Support Available (256) 722-9985 > >