From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30482 invoked by alias); 16 Jul 2010 21:55:14 -0000 Received: (qmail 30465 invoked by uid 48); 16 Jul 2010 21:55:14 -0000 Date: Fri, 16 Jul 2010 21:55:00 -0000 Message-ID: <20100716215514.30464.qmail@sourceware.org> From: "rtaylor at synopsys dot com" To: gdb-prs@sourceware.org In-Reply-To: <20100223120114.11313.mgrojo@indra.es> References: <20100223120114.11313.mgrojo@indra.es> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug backtrace/11313] internal-error: print_frame_args: Assertion `nsym != NULL' failed X-Bugzilla-Reason: CC Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org X-SW-Source: 2010-q3/txt/msg00065.txt.bz2 ------- Additional Comments From rtaylor at synopsys dot com 2010-07-16 21:55 ------- tromey, Thanks for taking a look at this and the suggestion to bypass the assert. If I remove the assert via the simple code change below. (I am using the most recent 7.2.50.20100716 code base) I see that I no longer get the assert as expected. The "bt" command and "p str1" commands do not go through the assert mechanism but they do not give the value of the str1 parameter either. The output I see is below. I've read over PR 11560 and but not being so familiar with gdb internals I do not fully understand the commentary there. Is there a better way to implement this so that the command "p str1" can actually look up the symbol and print it's value? Our product is using ifort to compile the .o's and then g++ to link edit the executable. Intel's idbc and TotalView both can print the local varaible str1 when the break point is set in the test_func routine. Thanks again for your help, Randy Taylor Staff Sofware Engineer Synopsys Inc. ----------------------------------------------------------- /remote/sde106/rtaylor/gdb/gdb-7.2.50.20100716/gdb/gdb ifort GNU gdb (GDB) 7.2.50.20100716 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /remote/srm226/rtaylor/rtaylor_tc/tt1_fort/ifort...done. (gdb) break test_func Breakpoint 1 at 0x8049c1a: file tt2.f, line 6. (gdb) run Starting program: /remote/srm226/rtaylor/rtaylor_tc/tt1_fort/ifort Breakpoint 1, test_func (str1=..., .tmp.STR1.len_V$8=16) at tt2.f:6 6 str1 = ' ' (gdb) bt #0 test_func (str1=..., .tmp.STR1.len_V$8=16) at tt2.f:6 #1 0x08049ce6 in tt1 () at tt2.f:14 #2 0x080630e3 in main () (gdb) p str1 $1 = (REF TO -> ( character*16 )) @0x0: (gdb) diff -c stack.c.orig stack.c *** stack.c.orig Thu Jul 1 08:36:17 2010 --- stack.c Fri Jul 16 14:09:36 2010 *************** *** 290,296 **** nsym = lookup_symbol (SYMBOL_LINKAGE_NAME (sym), b, VAR_DOMAIN, NULL); ! gdb_assert (nsym != NULL); if (SYMBOL_CLASS (nsym) == LOC_REGISTER && !SYMBOL_IS_ARGUMENT (nsym)) { --- 290,296 ---- nsym = lookup_symbol (SYMBOL_LINKAGE_NAME (sym), b, VAR_DOMAIN, NULL); ! if (nsym) { if (SYMBOL_CLASS (nsym) == LOC_REGISTER && !SYMBOL_IS_ARGUMENT (nsym)) { *************** *** 334,339 **** --- 334,340 ---- else sym = nsym; } + } /* Print the current arg. */ if (!first) -- http://sourceware.org/bugzilla/show_bug.cgi?id=11313 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.