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+