On 6/24/06, Vitaliy Margolen wine-devel@kievinfo.com wrote:
You can ignore tag altogether. It's only enabled with a special registry key (on windows). And drivers have no way nor need to verify the tag. So I think you can just remove that trace. I will need to think something to stop of from crashing. Or try using wine_dbgstr_a((char*)&Tag) instead.
ok. I have not made a real patch, but but if it pops up again i may try that.
PS: I wasn't sure if you were using my ntoskrnl implementation or not.
yes. I'm using: http://www.winehq.com/pipermail/wine-devel/2006-June/048583.html
If you are then could you post somewhere +ntoskrnl trace? That might be helpful. Also it could be number of other things that this driver tries to do that ntoskrnl has not implementation for.
It seems to work ok with autocad 2004. I think the problems are more in the safedisc itself.
I have the +all log: (16 MB) $ grep -i ':ntoskrnl:' all_log.txt 163439:0009:trace:ntoskrnl:NTOSKRNL_connect Connecting to ntoskrnl 163444:0009:trace:ntoskrnl:NTOSKRNL_connect Trying to start ntoskrnl 178596:wine_dbg_vprintf: debugstr buffer overflow (contents: '000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 20 ') 200646:0009:trace:ntoskrnl:NTOSKRNL_connect Connecting to ntoskrnl
I just noticed, after my "fix" the there are no ntoskrnl traces in the +all log. so my fix was preventing the error by crashing ntoskrnl :-(
here is the log after remofing the tag altogether: (I had to ctrl-c wine, autocad did not shutdown by itself, so I think things are improving.)
$ grep -i ':ntoskrnl:' all_log_no_tag.txt 000f:trace:ntoskrnl:ExAllocatePoolWithTag (1 16 <tag>), semi-stub 000f:trace:ntoskrnl:ExFreePool (0x401fcc18) 000f:trace:ntoskrnl:ExAllocatePoolWithTag (1 94 <tag>), semi-stub 000f:trace:ntoskrnl:ExFreePool (0x4020d220) 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 168 <tag>), semi-stub 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 20 <tag>), semi-stub 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 120 <tag>), semi-stub 000f:trace:ntoskrnl:IoCreateDevice (0x4020d220, 0, L"\Device\CdaC17BA", 51712, 0, 0, 0x407523a0) 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 24 <tag>), semi-stub 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 184 <tag>), semi-stub 000f:trace:ntoskrnl:IoCreateDevice Created device with handel 0x28 000f:trace:ntoskrnl:IoCreateSymbolicLink (L"\DosDevices\CdaC17BA" -> L"\Device\CdaC17BA") 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 24 <tag>), semi-stub 000f:trace:ntoskrnl:ExAllocatePoolWithTag (1 36 <tag>), semi-stub 000f:trace:ntoskrnl:IoCreateDevice (0x4020d220, 0, L"\Device\CdaC15BA", 61184, 0, 0, 0x40752140) 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 24 <tag>), semi-stub 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 184 <tag>), semi-stub 000f:trace:ntoskrnl:IoCreateDevice Created device with handel 0x34 000f:trace:ntoskrnl:IoCreateSymbolicLink (L"\DosDevices\CdaC15BA" -> L"\Device\CdaC15BA") 000f:trace:ntoskrnl:ExAllocatePoolWithTag (0 24 <tag>), semi-stub 000f:trace:ntoskrnl:driver_control returned from call with status 00000000
does "semi-stub" mean that this call is not fully implemented ?
Jaap.