Opened 9 years ago

Last modified 7 years ago

#25 new defect

Get Pidgin to work under Odin

Reported by: abwillis Owned by: abwillis
Priority: minor Milestone: general enhancement
Component: odin Version: 0.8.5
Severity: low Keywords:
Cc:

Description

Attempt to get Pidgin to work under Odin. If Pidgin works then possibly other GTK Windows apps such as Gimp may be gotten to work.

Change History (11)

comment:1 Changed 9 years ago by abwillis

WSALookupServiceBeginA and WSALookupServiceBeginW is needed:

comment:2 Changed 9 years ago by abwillis

Committed revision 21552 for WSALookupServiceBeginA and WSALookupServiceBeginW

comment:3 Changed 9 years ago by abwillis

Next issue. The application has called the non-existing api MSVCRT.DLL->localeconv (loaded by LIBGLIB-2.0-0.DLL).

comment:4 Changed 8 years ago by dmik

  • Milestone set to general enhancement
  • Severity set to low

Did you try to use the Win32 version of MSVCRT.DLL which is known to work with Odin?

comment:5 Changed 7 years ago by abwillis

  • Version set to 0.8.5

I tried various msvcrt.dll, I don't recall what the other issues were with msvcrt.dll. Using Odin 0.8.5 and Pidgin 2.10.6 I either no longer have a problem with msvcrt.dll or it doesn't get that far as I have a new error: Error loading pidgin.dll Error (191) Invalid EXE signature in --- Cut off in the dialog box.

comment:6 Changed 7 years ago by abwillis

Turns out the invalid exe error was because pidgin.dll was calling the gtk executable which wanted msimg32.dll. Changeset r22017 was needed for the GTK as was Changeset r22019

comment:7 Changed 7 years ago by abwillis

Get this with both the newest and the oldest msvcrt.dll that I have:

t01 001 W 15:18:14.900: InitializeDebugInfo DebugInfo: 0x5c7f0b50
t01 000 W 15:18:14.900: KERNEL32: GetModuleHandleW 2a57c90
t01 001 W 15:18:14.900: KERNEL32:  GetModuleHandle E:\PRGFILES\PIDGIN\exchndl.dll returned 21190000
t01 001 W 15:18:14.900: KERNEL32:  OS2GetModuleHandleW E:\PRGFILES\PIDGIN\exchndl.dll returned 21190000
t01 000 W 15:18:14.900: KERNEL32: GetModuleHandleW returned 21190000
t01 000 W 15:18:14.900: KERNEL32: GetProcAddress 21190000 212ddbfd
t01 001 W 15:18:14.900: KERNEL32:  GetProcAddress SetLogFile from 21190000 returned 21193260
t01 000 W 15:18:14.900: KERNEL32: GetProcAddress returned 21193260
t01 000 W 15:18:14.900: KERNEL32: GetACP
t01 001 W 15:18:14.900: GetACP 1252
t01 000 W 15:18:14.900: KERNEL32: GetACP returned 4e4
t01 000 O 15:18:14.900: OS2ExceptionHandler: fSEH=0
---[Exception Information]------------
   Access Violation (hardware generated,portable,fatal)
   Read Access at address 00000000h
   Exception Address = 21137b26 <MSVCRT.D> (1703) obj 00FF:00037B26   Thread:  Ordinal TID: 151, TID: 1, Priority: 0200h
   Process: PID: 728, Parent: 723, Status: 16
   SS:ESP=0053:0012e788  EFLAGS=00010203
   CS:EIP=005b:21137b26  EBP   =0012e7b0
   EAX=00000000 EBX=00000103 ESI=00000000
   ECX=00000040 EDX=7efefeff EDI=211fe000
   DS=0053      ES=00000053  FS=13cf     GS=0000
---[End Of Exception Information]-----

** BEGIN STACK DUMP **
DOSCALL1.DLL  0004 at 0x1ffece38 
PEC.EXE       0001 at 0x00011ac6 between __text + 0x6 and ___main - 0x1
PEC.EXE       0001 at 0x00010b2a between _simple_main + 0x8F8 and _AllocateExeMem - 0x354
KERNEL32.DLL  0001 at 0x1d2c7036 
DOSCALL1.DLL  0002 at 0x1ffc7de1 
KERNEL32.DLL  0002 at 0x1d3f010c between _SupportsCPUID + 0x10C and _AsmCallThreadHandler - 0x5E
KERNEL32.DLL  0001 at 0x1d2c738b between _CreateWin32PeLdrExe@36 + 0x355 and __ZN13Win32PeLdrExeC1EPcm - 0x165
KERNEL32.DLL  0002 at 0x1d3f010c between _SupportsCPUID + 0x10C and _AsmCallThreadHandler - 0x5E
KERNEL32.DLL  0001 at 0x1d2bc984 between __ZN15Win32PeLdrImageD0Ev + 0x8F2 and __ZN15Win32PeLdrImage4initEmm - 0x2F4
KERNEL32.DLL  0001 at 0x1d2713f8 between _PrintExceptionChain + 0x3E6 and OS2UnsetExceptionHandler - 0x2D
KERNEL32.DLL  0001 at 0x1d27145b between OS2UnsetExceptionHandler + 0x36 and CheckCurFS - 0x2
KERNEL32.DLL  0001 at 0x1d2b22a9 between __ZN12Win32ExeBase5startEv + 0x10D and __ZN12Win32ExeBase19getDefaultStackSizeEv - 0x1F
KERNEL32.DLL  0002 at 0x1d3f020e between OSLibDispatchException + 0xFC and _Add64 - 0x7E
KERNEL32.DLL  0001 at 0x1d2a2e1e between _ForceWin32TIB@0 + 0x469 and _ODIN_SetTIBSwitch@4 - 0xA4E
KERNEL32.DLL  0001 at 0x1d2a2e16 between _ForceWin32TIB@0 + 0x461 and _ODIN_SetTIBSwitch@4 - 0xA56
KERNEL32.DLL  0001 at 0x1d30eb07 between _DbgLeaveCriticalSection@4 + 0x54 and _DbgMakeCriticalSectionGlobal@4 - 0x48
KERNEL32.DLL  0001 at 0x1d2f427d between _DbgAreFileApisANSI@0 + 0x87 and _DbgBeep@8 - 0x1A
KERNEL32.DLL  0001 at 0x1d30f638 between _DbgGetModuleHandleA@4 + 0x7B and _DbgGetModuleHandleW@4 - 0x18
KERNEL32.DLL  0001 at 0x1d263e2d between _dbg_ThreadPopCall@0 + 0xB and _dbg_GetLastCallerName@0 - 0x59
KERNEL32.DLL  0001 at 0x1d283bc6 between _EnumCalendarInfoW@16 + 0x1A5 and WriteLog - 0x238
KERNEL32.DLL  0001 at 0x1d283bc6 between _EnumCalendarInfoW@16 + 0x1A5 and WriteLog - 0x238
ODINCRT.DLL   0001 at 0x1d1f05a2 between _GetCurrentProcessId@0$w$Vp8AGmM72x6GgHBL1 + 0x317 and _DosQueryModuleHandleStrict@8 - 0x27D
ODINCRT.DLL   0001 at 0x1d1f0265 between _DosValidateCriticalSection@4 + 0x35 and _DosInitializeCriticalSection@12 - 0x55
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
KERNEL32.DLL  0001 at 0x1d2a68fb between _GetModuleHandleA@4 + 0x1A4 and _GetModuleHandleW@4 - 0x40
KERNEL32.DLL  0001 at 0x1d2a672c between _GetModuleFileNameA@12 + 0x4A0 and _GetModuleHandleA@4 - 0x2B
KERNEL32.DLL  0001 at 0x1d2a68fb between _GetModuleHandleA@4 + 0x1A4 and _GetModuleHandleW@4 - 0x40
KERNEL32.DLL  0001 at 0x1d283bc6 between _EnumCalendarInfoW@16 + 0x1A5 and WriteLog - 0x238
KERNEL32.DLL  0001 at 0x1d283bc6 between _EnumCalendarInfoW@16 + 0x1A5 and WriteLog - 0x238
KERNEL32.DLL  0001 at 0x1d28482e between WritePrivateLog + 0xA2 and __Z12LogExceptionii - 0x7
KERNEL32.DLL  0001 at 0x1d2b157c between __ZN12Win32DllBase10findModuleEPcm + 0x10C and __ZN12Win32DllBase10findModuleEPFmmmPvE - 0x16
KERNEL32.DLL  0001 at 0x1d283adb between _EnumCalendarInfoW@16 + 0xBA and WriteLog - 0x323
KERNEL32.DLL  0001 at 0x1d27ad27 between _OSLibStripPath + 0x2F and _OSLibWinInitialize - 0x2C
ODINCRT.DLL   0001 at 0x1d1f05a2 between _GetCurrentProcessId@0$w$Vp8AGmM72x6GgHBL1 + 0x317 and _DosQueryModuleHandleStrict@8 - 0x27D
ODINCRT.DLL   0001 at 0x1d1f0265 between _DosValidateCriticalSection@4 + 0x35 and _DosInitializeCriticalSection@12 - 0x55
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
KERNEL32.DLL  0001 at 0x1d2c0053 between __ZN15Win32PeLdrImage20findSectionByOS2AddrEm + 0x8D7 and __ZN15Win32PeLdrImage14processExportsEv - 0x5A1
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
KERNEL32.DLL  0001 at 0x1d28482e between WritePrivateLog + 0xA2 and __Z12LogExceptionii - 0x7
PEC.EXE       0001 at 0x0001150b between _long2string + 0x3F and _string2ulong - 0x7
KERNEL32.DLL  0001 at 0x1d2c0d60 between __ZN15Win32PeLdrImage14processExportsEv + 0x76C and __ZN15Win32PeLdrImage14processImportsEv - 0x7B6
LIBC065.DLL   0001 at 0x1f25f23c 
KERNEL32.DLL  0001 at 0x1d2b2170 between __ZN12Win32ExeBaseD0Ev + 0x1B8 and __ZN12Win32ExeBase5startEv - 0x2C
KERNEL32.DLL  0001 at 0x1d2845c5 between WriteLog + 0x7C7 and WriteLogNoEOL - 0x18
KERNEL32.DLL  0002 at 0x1d3f0d9e between _DosUnsetExceptionHandler + 0x12 and _DosQuerySysInfo - 0x6
DOSCALL1.DLL  0002 at 0x1ffc1b7f between DOS32UNSETEXCEPTIONHANDLER + 0x3B and postDOS32UNSETEXCEPTIONHANDLER - 0xB
KERNEL32.DLL  0001 at 0x1d2b2170 between __ZN12Win32ExeBaseD0Ev + 0x1B8 and __ZN12Win32ExeBase5startEv - 0x2C
KERNEL32.DLL  0001 at 0x1d283adb between _EnumCalendarInfoW@16 + 0xBA and WriteLog - 0x323
LIBC065.DLL   0001 at 0x1f251eef 
ODINCRT.DLL   0001 at 0x1d1f05a2 between _GetCurrentProcessId@0$w$Vp8AGmM72x6GgHBL1 + 0x317 and _DosQueryModuleHandleStrict@8 - 0x27D
LIBC065.DLL   0001 at 0x1f251e9a 
ODINCRT.DLL   0001 at 0x1d1f0265 between _DosValidateCriticalSection@4 + 0x35 and _DosInitializeCriticalSection@12 - 0x55
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
KERNEL32.DLL  0002 at 0x1d3f0d9e between _DosUnsetExceptionHandler + 0x12 and _DosQuerySysInfo - 0x6
DOSCALL1.DLL  0002 at 0x1ffc1b7f between DOS32UNSETEXCEPTIONHANDLER + 0x3B and postDOS32UNSETEXCEPTIONHANDLER - 0xB
KERNEL32.DLL  0001 at 0x1d2f427d between _DbgAreFileApisANSI@0 + 0x87 and _DbgBeep@8 - 0x1A
KERNEL32.DLL  0001 at 0x1d2f427d between _DbgAreFileApisANSI@0 + 0x87 and _DbgBeep@8 - 0x1A
KERNEL32.DLL  0001 at 0x1d2f427d between _DbgAreFileApisANSI@0 + 0x87 and _DbgBeep@8 - 0x1A
KERNEL32.DLL  0001 at 0x1d2845c5 between WriteLog + 0x7C7 and WriteLogNoEOL - 0x18
KERNEL32.DLL  0001 at 0x1d2f427d between _DbgAreFileApisANSI@0 + 0x87 and _DbgBeep@8 - 0x1A
KERNEL32.DLL  0001 at 0x1d2845c5 between WriteLog + 0x7C7 and WriteLogNoEOL - 0x18
KERNEL32.DLL  0002 at 0x1d3f0d9e between _DosUnsetExceptionHandler + 0x12 and _DosQuerySysInfo - 0x6
DOSCALL1.DLL  0002 at 0x1ffc1b7f between DOS32UNSETEXCEPTIONHANDLER + 0x3B and postDOS32UNSETEXCEPTIONHANDLER - 0xB
KERNEL32.DLL  0001 at 0x1d2f427d between _DbgAreFileApisANSI@0 + 0x87 and _DbgBeep@8 - 0x1A
KERNEL32.DLL  0001 at 0x1d283adb between _EnumCalendarInfoW@16 + 0xBA and WriteLog - 0x323
LIBC065.DLL   0001 at 0x1f251eef 
ODINCRT.DLL   0001 at 0x1d1f05a2 between _GetCurrentProcessId@0$w$Vp8AGmM72x6GgHBL1 + 0x317 and _DosQueryModuleHandleStrict@8 - 0x27D
LIBC065.DLL   0001 at 0x1f251e9a 
ODINCRT.DLL   0001 at 0x1d1f0065 between __text + 0x65 and DLL_Init - 0x3B
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
LIBC065.DLL   0001 at 0x1f2752cc 
LIBC065.DLL   0001 at 0x1f274e2d 
LIBC065.DLL   0001 at 0x1f21c73f 
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f2181c1 
LIBC065.DLL   0001 at 0x1f257bbc 
KERNEL32.DLL  0001 at 0x1d2f4294 between _DbgAreFileApisANSI@0 + 0x9E and _DbgBeep@8 - 0x3
KERNEL32.DLL  0001 at 0x1d30f5ac between _DbgGetModuleFileNameW@12 + 0x9E and _DbgGetModuleHandleA@4 - 0x11
LIBC065.DLL   0001 at 0x1f2537e6 
KERNEL32.DLL  0001 at 0x1d30f5ac between _DbgGetModuleFileNameW@12 + 0x9E and _DbgGetModuleHandleA@4 - 0x11
LIBC065.DLL   0001 at 0x1f253b60 
LIBC065.DLL   0001 at 0x1f274e2d 
LIBC065.DLL   0001 at 0x1f21c73f 
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f2181c1 
LIBC065.DLL   0001 at 0x1f257bbc 
KERNEL32.DLL  0001 at 0x1d2a6754 between _GetModuleFileNameA@12 + 0x4C8 and _GetModuleHandleA@4 - 0x3
LIBC065.DLL   0001 at 0x1f258876 
LIBC065.DLL   0001 at 0x1f253b60 
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f2181c1 
LIBC065.DLL   0001 at 0x1f274fc4 
LIBC065.DLL   0001 at 0x1f274fc4 
LIBC065.DLL   0001 at 0x1f249684 
DOSCALL1.DLL  0002 at 0x1ffc5e51 between DOS32WRITE + 0x29 and DOS32PROTECTREAD - 0x93
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f2181c1 
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f274fc4 
LIBC065.DLL   0001 at 0x1f249684 
KERNEL32.DLL  0001 at 0x1d2afa9c between __ZN12Win32DllBaseD2Ev + 0x754 and __ZN12Win32DllBase13detachProcessEv - 0xD3C
DOSCALL1.DLL  0002 at 0x1ffc5e51 between DOS32WRITE + 0x29 and DOS32PROTECTREAD - 0x93
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f2181c1 
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
LIBC065.DLL   0001 at 0x1f2752cc 
ODINCRT.DLL   0002 at 0x1d200072 between _DosGetInfoBlocks + 0x16 and _DosCreateEventSem - 0x6
LIBC065.DLL   0001 at 0x1f274e2d 
LIBC065.DLL   0001 at 0x1f21c73f 
LIBC065.DLL   0001 at 0x1f218573 
LIBC065.DLL   0001 at 0x1f2181c1 
LIBC065.DLL   0001 at 0x1f257bbc 
KERNEL32.DLL  0001 at 0x1d2afab9 between __ZN12Win32DllBaseD2Ev + 0x771 and __ZN12Win32DllBase13detachProcessEv - 0xD1F
KERNEL32.DLL  0001 at 0x1d305dad between _DbgLocalFree@4 + 0x52 and _DbgLocalHandle@4 - 0x3A
LIBC065.DLL   0001 at 0x1f276cee 
KERNEL32.DLL  0001 at 0x1d30eb07 between _DbgLeaveCriticalSection@4 + 0x54 and _DbgMakeCriticalSectionGlobal@4 - 0x48
** END OF STACK DUMP **
t01 000 W 15:18:15.169: KERNEL32: RtlDispatchException entered
t01 000 W 15:18:15.169: Win32 exception chain:
t01 000 W 15:18:15.169: END of Win32 exception chain.
t01 000 W 15:18:15.169: KERNEL32: RtlDispatchException returns 0x1
t01 000 W 15:18:15.169: Win32 exception chain:
t01 000 W 15:18:15.169: END of Win32 exception chain.
t01 000 O 15:18:15.169: Win32 exception handler returned ExceptionContinueSearch (1)
t01 000 O 15:18:15.169: KERNEL32: OS2ExceptionHandler (fSEH=0): continue search

comment:8 Changed 7 years ago by dmik

Try to grab the call stack using the debugger. The one produced by the Odin log facility is very often not correct and misleading (need to be fixed one day).

comment:9 Changed 7 years ago by abwillis

I'll see what I can determine with a debugger, in the meantime I did find the popuplog did contain an entry:

------------------------------------------------------------

09-22-2012  18:43:15  SYS3175  PID 00ab  TID 0001  Slot 00b8
E:\ODIN\SYSTEM32\PE.EXE
c0000005
21137b26
P1=00000001  P2=00000000  P3=XXXXXXXX  P4=XXXXXXXX  
EAX=00000000  EBX=00000103  ECX=00000040  EDX=7efefeff
ESI=00000000  EDI=211fe000  
DS=0053  DSACC=d0f3  DSLIM=5fffffff  
ES=0053  ESACC=d0f3  ESLIM=5fffffff  
FS=13cf  FSACC=00f3  FSLIM=00000fff
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:21137b26  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:0012e798  SSACC=d0f3  SSLIM=5fffffff
EBP=0012e7c0  FLG=00010203

KERNEL32.DLL
Last edited 7 years ago by abwillis (previous) (diff)

comment:10 Changed 7 years ago by abwillis

idebug shows the crash as xcpt_access_violation(unhandled) in doscall1 at 21137b26 Watcom debugger looks like doscall1 is being called from user32 though a process dump shows the crash in kernel32 as the popuplog entry does.

comment:11 Changed 7 years ago by abwillis

Hmm, just ran it again in Watcom debugger to try to look at something else I had seen and now it shows kernel32 instead of user32.

Note: See TracTickets for help on using tickets.