Help with dbimp crash?
Syd Polk
spolk@redhat.com
Mon Aug 28 16:09:00 GMT 2000
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.
More information about the Sourcenav
mailing list