https://bugs.winehq.org/show_bug.cgi?id=48096
Bug ID: 48096 Summary: Mulle Meck: Unhandled exception when starting game Product: Wine Version: 4.19 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: odecif@gmail.com Distribution: ---
Created attachment 65654 --> https://bugs.winehq.org/attachment.cgi?id=65654 warn+all debug log
When running the game w/o any debug flags one receive the following:
wine: Unhandled exception 0x80000004 in thread 9 at address 0040986D (thread 0009), starting debugger...
Attached is a pretty short debug log.
Some specs: Manjaro Linux 18.1.2 (clean prefix) wine-4.19-251-g292b728908 Windows 2000-mode (also tried with 95/98/Me/XP/7) No overrides 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
The game is protected by SafeDisc 1 (old game), but running from CD gets pass the "Please insert the correct CD"-error message so it's probably nothing to do with that.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- 0035:warn:module:find_builtin_dll cannot find builtin library for L"dplayerx.dll" https://www.winehq.org/pipermail/wine-users/2002-April/007910.html
Is it, or a demo, available for download?
If it is a Safedisc issue then a demo may not exhibit the same behaviour, but it's always worth trying.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #2 from odecif@gmail.com --- Sorry, I don't think there ever was a demo made from this game, but I'm happy to assist in any way possible :)
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #3 from odecif@gmail.com --- Sorry, I don't think there ever was a demo made for this game, but I'm happy to assist in any way possible :)
https://bugs.winehq.org/show_bug.cgi?id=48096
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com
--- Comment #4 from Paul Gofman gofmanp@gmail.com --- This looks likely copy protection related:
0035:warn:file:CreateFileW Unable to create file L"\\.\SICE" (status c0000034) 0035:warn:file:CreateFileW Unable to create file L"\\.\NTICE" (status c0000034) 0035:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7b4666d9
So the chances to solve this without testing the game are not very high (unless there is already a patch somewhere which fixed similar issue debugged for some other application).
Is it still possible to buy this game somewhere? If not, a couple of things to check:
1. Can you try it with Wine Staging? 2. Can you please attach full WINEDEBUG=+seh,+relay,+virtual,+loaddll log (compressed if it is big)? Pressing 'Close' when it crashes if debug window is shown, so that crash report also gets into the log. Maybe we are lucky and something will show up there.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #5 from odecif@gmail.com --- Created attachment 65672 --> https://bugs.winehq.org/attachment.cgi?id=65672 +seh,+relay,+virtual,+loaddll log
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #6 from odecif@gmail.com --- (In reply to odecif from comment #5)
Created attachment 65672 [details] +seh,+relay,+virtual,+loaddll log
Btw, this log created with CD in the drive and using "wine-4.19-311-g5725ed3b46 (Staging)" with all patches.
Unfortunately the game is from 1997 and has a pretty high value on the market (hard to find <100SEK).
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #7 from Paul Gofman gofmanp@gmail.com --- Yes, it is probably safedisk v1, and it fails to start its service at the first place. I think safedisk v1 was previously working fine with some other games, so there might be some specific issue.
1. Did you setup went well? You mentioned '... but running from CD gets pass the " Please insert the correct CD"...', but I am not sure I understood this. Could you please elaborate on which problem did you have, how did you solve it and how do you install / run the game? If it does not install with this message, can you look at the block device from which CD is mounted (/dev/cdrom, or /dev/loopX for ISO image: you can see that from 'mount' output), and check if your user has read access to it? If it does not, you should be able to grant that with root. Without the read access to block device Wine does not report volume name and serial to the application, this can maybe help to install game correctly.
2. You are probably running this on 64 bit prefix. Can you try that on 32 bit one? (WINEARCH=win32 during prefix creation).
3. With 32 bit prefix and after making sure that setup is OK and if it still does not work, can you please provide the following log (from vanilla Wine, not Staging): WINEDEBUG=+seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice
https://bugs.winehq.org/show_bug.cgi?id=48096
odecif@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #65672|0 |1 is obsolete| |
--- Comment #8 from odecif@gmail.com --- Created attachment 65673 --> https://bugs.winehq.org/attachment.cgi?id=65673 +seh,+relay,+virtual,+loaddll log from vanilla 4.19
(In reply to Paul Gofman from comment #7)
Yes, it is probably safedisk v1, and it fails to start its service at the first place. I think safedisk v1 was previously working fine with some other games, so there might be some specific issue.
- Did you setup went well? You mentioned '... but running from CD gets pass
the " Please insert the correct CD"...', but I am not sure I understood this. Could you please elaborate on which problem did you have, how did you solve it and how do you install / run the game? If it does not install with this message, can you look at the block device from which CD is mounted (/dev/cdrom, or /dev/loopX for ISO image: you can see that from 'mount' output), and check if your user has read access to it? If it does not, you should be able to grant that with root. Without the read access to block device Wine does not report volume name and serial to the application, this can maybe help to install game correctly.
- You are probably running this on 64 bit prefix. Can you try that on 32
bit one? (WINEARCH=win32 during prefix creation).
- With 32 bit prefix and after making sure that setup is OK and if it still
does not work, can you please provide the following log (from vanilla Wine, not Staging): WINEDEBUG=+seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice
1. The install works fine in Windows 95-mode installing from CD. I also have the game backed up as an image.
Executing the game without the CD nor the image generates the famous "Please insert the correct CD"-popup. Executing the game with the image mounted in cdemu also generates said error. Executing the game with the CD inserted does not generate the error, but crashes instead.
2. The prefix is/was created with WINEARCH=win32 so this should not be an issue.
3. The log attached is created from the following (clean prefix):
wine-4.19-311-g5725ed3b46 $ WINEARCH=win32 WINEPREFIX=/home/odecif/.wine-mullebil-vanilla winecfg $ WINEARCH=win32 WINEPREFIX=/home/odecif/.wine-mullebil-vanilla wine 'e:\setup' $ WINEDEBUG=+seh,+relay,+virtual,+loaddll WINEARCH=win32 WINEPREFIX=/home/odecif/.wine-mullebil-vanilla wine 'c:\levande\mullebil\mulle32.exe' &>vanillamulle.log
https://bugs.winehq.org/show_bug.cgi?id=48096
odecif@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #65673|0 |1 is obsolete| |
--- Comment #9 from odecif@gmail.com --- Created attachment 65674 --> https://bugs.winehq.org/attachment.cgi?id=65674 New log with +seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice in vanilla 4.19
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #10 from Paul Gofman gofmanp@gmail.com --- Now I can't see any trace of attempt to start any service in your logs from last 2 comments (while it was there in the previous log). Something has changed. In the earlier log it tried to start "Secdrv" service and failed, I was hoping to see any details in the new log, but it does not try now, nor queries service status, does not try to connect to service by opening "\\.\Secdrv" anymore, nothing. We need to bring it back to at least how it was to continue. Maybe the difference has something to do with using plain Wine instead of Staging though it does not seem likely. It also looks a bit strange for me that even in previous logs I could not see any messages from any other Wine processes. How exactly do you start it? Do you run the game and record the log from Wine boot, without any Wine processes running before that?
It is possible something is wrong with that service setup. Exception 0x80000004 from Comment #1 is a single step debug exception. It is supposed to be handled by Safedisk service process. Your previous log explicitly said the service could not be started, yet was not enough information why. The last log does not have any attempt to start it at all. I wonder if you run it the same way as you made the last log, but without any debug flags, do you get 0x80000004 exception again?
I wonder does it work on Windows if started the same way through running the same executable?
If you could do some digging on what happening with Secdrv service (is it in registry, can it be manually started from cmd with 'sc start secdrv' etc.), it could possibly help greatly. Otherwise it may result in impossible amount of writing.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #11 from odecif@gmail.com --- Created attachment 65684 --> https://bugs.winehq.org/attachment.cgi?id=65684 54MB log, +seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice on 4.19 vanilla and Windows 2000
Ok, I see now that I've mixed Windows versions in my reports and for that I'm truly sorry. After reading a bit more about SecDrv, wine and Windows versions I've come to the conclusion that SecDrv seems to work best with windows 2000 in wine.
Therefore I am now attaching a pretty big log file (54MB) of, what I believe was requested, +seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice from a clean wine-32bit-prefix and Windows 2000 without any overrides.
I have a Windows XP SP3 in a virtualbox (on the same computer) which I've successfully installed and played the game in using the same executable.
When performing `sc start secdrv` with +service I get the following: sc start secdrv 0083:trace:service:SERV_OpenSCManagerW ((null),(null),0x000f003f) 0083:trace:service:SERV_OpenSCManagerW returning 0x117760 0083:trace:service:SERV_OpenServiceW 0x117760 L"secdrv" 0x00000010 0083:trace:service:SERV_OpenServiceW returning 0x117860 0083:trace:service:StartServiceW 0x117860 0 0x114e44 0083:trace:service:CloseServiceHandle 0x117860 0083:trace:service:CloseServiceHandle 0x117760
So no errors, it seems to be working as expected. In regedit, Secdrv is found under `HKEY_LOCAL_MACHINE->System->Services->Secdrv` and it is pointing towards `C:\windows\system32\drivers\SECDRV.SYS` (which I believe to be correct).
Again, I'm sorry for messing up the windows versions and I hope that this last log contains sufficient and correct information.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #12 from Paul Gofman gofmanp@gmail.com --- Thanks for the new log. It has definately progressed as now the application is successfully connecting to Secdrv through a special file, so service is definately started. Still I don't see anything from the other processes themselves, so it looks like your log was started recoding when some Wine processes were already booted. The following questions from my previous comment stay valid:
- How exactly do you start it? Do you run the game and record the log from Wine boot, without any Wine processes running before that?
- if you run it the same way as you made the last log, but without any debug flags, do you get 0x80000004 exception again? Or if not, what happens?
It also looks now that the final not processed crash we get is from Wine's kernel32 dll. Can you please attach your Wine's kernel32.dll.so, exactly the one which is used with game. I should be able to find where it crashes now, I cannot do that without your exact binary file, as I don't have any backtrace and won't be able to exactly reproduce your build.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #13 from odecif@gmail.com --- Created attachment 65686 --> https://bugs.winehq.org/attachment.cgi?id=65686 kernel32.dll.so from 4.19 vanilla
Attached you may find the kernel32-dll from the wine installation.
Here is the exact procedure I performed:
1. ps -ef | grep wine 2. Kill all wine processes 3. Insert CD into CD-reader 4. Actually opening the disc in Nautilus/file viewer 5. rm -rf /home/odecif/.wine-mullebil 6. WINEPREFIX=/home/odecif/.wine-mullebil winecfg 7. Set Windows version to `Windows 2000`. Click `OK` to close winecfg 8. WINEPREFIX=/home/odecif/.wine-mullebil wine 'd:\Setup' 9. Install game without issues 10. When installer ask if you want to launch the game, say `No` 11. WINEDEBUG=+seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice WINEPREFIX=/home/odecif/.wine-mullebil wine 'c:\levande\mullebil\mulle32.exe' &> mullevanilla_win2000.log 12. Post log to winehq :)
When running the last command without the debug-flags and without redirecting to log file, I get the following error in the terminal some time after the CD spins up: $ WINEPREFIX=/home/odecif/.wine-mullebil wine 'c:\levande\mullebil\mulle32.exe' 008e:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7b4666c9
And then I get the prompt back. There is no error popup, just the error in the terminal.
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #14 from Paul Gofman gofmanp@gmail.com --- Created attachment 65720 --> https://bugs.winehq.org/attachment.cgi?id=65720 Debug patch
(In reply to odecif from comment #13)
When running the last command without the debug-flags and without redirecting to log file, I get the following error in the terminal some time
after the CD spins up:
$ WINEPREFIX=/home/odecif/.wine-mullebil wine 'c:\levande\mullebil\mulle32.exe' 008e:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7b4666c9
Are you sure? Are you sure that you don't have Wine already booted with debug flags when you start like that? The thing is, unless I am missing something obvious, this crash location should not be reached at all if +relay flag is not set, unless some very unlikely things happened.
Also, what is your current directory when you run the game as you specified above? Is it game directory? I don't think it is likely related, but yet good to know and to try running from the game directory if that was not the case.
I am attaching a debug only patch, can you please run with kernel32.dll built with the patch applied and two more debug flags: WINEDEBUG=+seh,+relay,+virtual,+loaddll,+service,+ntoskrnl,+winedevice,+module,+process. It will probably crash again but in a different place, so could you please attach this new full debug output and then the newly built kernel32.dll?
https://bugs.winehq.org/show_bug.cgi?id=48096
--- Comment #15 from odecif@gmail.com --- This issue seems to have been mitigated in later versions of wine. It is now possible to play the game from CD in wine 7.1 with windows version NT4.0.
I suggest that this bug is to be closed.
https://bugs.winehq.org/show_bug.cgi?id=48096
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #16 from Austin English austinenglish@gmail.com --- (In reply to odecif from comment #15)
This issue seems to have been mitigated in later versions of wine. It is now possible to play the game from CD in wine 7.1 with windows version NT4.0.
I suggest that this bug is to be closed.
Fixed
https://bugs.winehq.org/show_bug.cgi?id=48096
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.3.