Need help with SymInitializeW

Kapila De Silva wine at kapila.force9.co.uk
Thu Mar 15 04:11:35 CDT 2007


Hi guys,

I put some more debug in the process_find_by_handle function of
dbghelp.c,  and what Im seeing is the second time we call
SymInitializeW, we appear to create a new process structure, so
following calls to process_find_by_handle returns the new one, and not
the old one.

In the trace below, the first call to process_find_by_handle returns a
process structure stored at 0x16c600, but the next calls locate two
process structures (one at 0x16c600 and one at 0xf5ee680). 

Could this be an issue? Both seem to have the same process handle of
0xffffffff. Maybe when allocating a new process structure we should
check if one already exists with the same handle?

Thanks

Kapila.


fixme:dbghelp:SymInitialize Calling SymInitializeW 0xffffffff
fixme:dbghelp:SymInitializeW (0xffffffff (null) 1)
fixme:dbghelp:process_find_by_handle Searching for process 0xffffffff
compared to 0xffffffff (0x16c600)
fixme:dbghelp:process_find_by_handle Returning process handle 0x16c600
and 0xffffffff
fixme:dbghelp:SymInitializeW what to do ??
fixme:dbghelp:SymInitializeW Not User search path
fixme:dbghelp:SymInitializeW check live target
fixme:dbghelp:SymInitializeW Invade Process
fixme:dbghelp:process_find_by_handle Searching for process 0xffffffff
compared to 0xffffffff (0xf5ee680)
fixme:dbghelp:process_find_by_handle Searching for process 0xffffffff
compared to 0xffffffff (0x16c600)
fixme:dbghelp:process_find_by_handle Returning process handle 0xf5ee680
and 0xffffffff

On Wed, 2007-03-14 at 20:53 +0100, Eric Pouech wrote:
> Paul Vriens a écrit :
> > Eric Pouech wrote:
> >> Kapila De Silva a écrit :
> >>> Hi All,
> >>>
> >>> Im trying to debug a crash in Everquest 2, (bug 7705) and am hoping
> >>> someone here can help.
> >>>   
> >> I'll send a fix later on for the FIXME, but it's unlikely this is 
> >> what's causing the crash
> >> So, you have to understand where the 0xffffffff as an address comes 
> >> from. sometimes, +relay helps figuring that out, but YMMV
> >>
> >> A+
> >>
> > Hi,
> >
> > just wanted to report that Process Explorer also calls it with 
> > 0xffffffff when viewing the 'System Information':
> >
> > trace:dbghelp:SymInitializeW (0xffffffff (null) 0)
> > trace:dbghelp:elf_load_file Processing elf file 'L"wine-kthread"' at 
> > 00000000
> > trace:dbghelp:elf_load_file Processing elf file 
> > 'L"/usr/lib/qt-3.3/bin/wine-kthread"' at 00000000
> > trace:dbghelp:elf_load_file Processing elf file 
> > 'L"/usr/kerberos/bin/wine-kthread"' at 00000000
> > trace:dbghelp:elf_load_file Processing elf file 
> > 'L"/usr/local/bin/wine-kthread"' at 00000000
> >
> > Could 0xffffffff mean something like system-wide?
> >
> > Cheers,
> >
> > Paul.
> >
> >
> in that cas 0xffffffff is the default handle to the current process, and 
> is never derefenced...
> include/winbase.h:#define GetCurrentProcess() ((HANDLE)0xffffffff)
> A+
> 




More information about the wine-devel mailing list