From mboxrd@z Thu Jan 1 00:00:00 1970 From: Syd Polk To: Joseph Pallas , sourcenav@sourceware.cygnus.com Subject: Re: Help with dbimp crash? Date: Mon, 28 Aug 2000 16:09:00 -0000 Message-id: <4.2.0.58.20000828161024.00d12ac0@pop.cygnus.com> References: X-SW-Source: 2000-q3/msg00336.html I am afraid the original developers who worked on that portion of Source-Navigator are long gone. This is not an area where we have much expertise anymore. At 03:58 PM 8/28/00 -0700, Joseph Pallas wrote: >I've been encountering a crash in dbimp that seems to be due to a dangling >pointer, but I'm having trouble understanding how this stuff is supposed >to work. > >I've narrowed the problem down to an entry in a hash table whose key is a >pointer that isn't valid. At first I thought the pointer was getting >stomped on, but I started tracing things more thoroughly and discovered >that the entry didn't change, and the pointer was valid at the time the >entry was added. The memory that it pointed to, however, actually went >away sometime later. > >The troublesome insertion occurs when the stack looks like this: > >HashTableSearchFunc >HashTableAdd >f_MacroFind >f_TokenMacroInput > >The value of item.key in HashTableAdd is a char pointer that was set to >sString.text in f_MacroFind. This ultimately seems to be a pointer >derived from yytext in f_TokenInput. Since yytext belongs to (f)lex, >expecting it to be stable and long-lived would be a mistake. > >Could someone who actually understands this stuff tell me if I've got it >right? If so, is it fixable? I'm fairly petrified of trying a fix >without being sure of the problem and understanding how things are >supposed to work. I really don't want to introduce a memory leak. > >Thanks. >joe > Syd Polk spolk@redhat.com Engineering Manager +1 415 777 9810 x 241 Red Hat, Inc.