Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Running the Perforce client with HX? (wsock32 fatal error) (DOSX)

posted by Japheth(R) Homepage, Germany (South), 29.11.2010, 08:47
(edited by Japheth on 29.11.2010, 10:48)

> dkrnl32: exception C0000005, flags=0 occurred at BF:323E23
> ax=FFFFFFF8 bx=FFFFFFFC cx=10008 dx=10008
> si=FFFFFFFC di=10000 bp=1 sp=2D5AB8
> exception caused by access to memory address FFFFFFF8
> ip = Module 'wsock32.dll'+2AE23
> [eip] = 8B 00 24 FE 83 E8 04 C3 00 00 00 00
> [esp] = 002E0A27 000000BF 00003246 00000002 002D5698 002DF5CA
> dkrnl32: fatal exit![/code]

According to the Wsock32.map file address 2AE23 is in the OW CRT, the "heap manager". This info most likely won't help much, it's too "low-level".

> When I try to debug with debugx I get two different results, and I realize
> I have no idea what I'm doing with it so I think that's going to be a
> showstopper for me.

The best thing to do at this point is to dump the current stack. This may display a code address which gives a hint in what socket function the GPF occurs.

> GDTR=07FF:FF808800 IDTR=07FF:FF809000 PTE CR2=00000000
> CR0=E0000033 CR2=FFFFFFF8 CR3=0046F000 CR4=00000200 TSS:ESP0=00000804
> DR0-3=00000000 00000000 00000000 00000000 DR6=FFFF4FF0 DR7=00000400
> LPMS Sel/Cnt=0087/0001 RMS=EFF3:0200 open RMCBs=0000/0000 ISR=0000
> [EIP]=8B 00 24 FE 83 E8 04 C3 00 00 00 00
> [ESP]=CAC6 0030 0001 0000 0000 0001 FFFC FFFF
> 002D5AC8=0FB8 0039 0000 0001 C24D 002F 0000 0001
> 002D5AD8=0000 0001 0E30 0039 5B4C 002D CCE1 002F
> 002D5AE8=0000 0001 1002 0000 0E30 0039 1002 0000
> 002D5AF8=0E30 0039 0E30 0039 CED6 002F FFFF 0000
> 002D5B08=0003 0000 5160 002F 0000 0001 0B5C 002F
> terminate (c)lient or (s)erver now?[/code]

This is the HDPMI exception dump. It contains a stack dump.

From the "dkrnl32" info block I can calculate the address where wsock32.dll is loaded: 323e23 - 2ae23 = 2F9000.

From the map file I can see that the code of wsock32.dll has about a size of 256 kB: 2F9000 + 40000 = 339000. So any address within the range 2F9000 - 339000 is probably a wsock32 code address.

In the hdpmi stack dump, I can see these addresses which are interesting candidates: 30CAC6, 2Fc24d, 2fcce1, 2fced6

> Any help appreciated,

Here's the wsock32.map:
-------------------------------------------------
sorry, it was rejected ( too large )
I will upload it onto my site ASAP.
edit: http://www.japheth.de/Download/HX/wsock32map.zip
-------------------------------------------------

---
MS-DOS forever!

 

Complete thread:

Back to the forum
Board view  Mix view
15108 Postings in 1358 Threads, 246 registered users, 10 users online (0 registered, 10 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum