#5940 closed defect (fixed)
DC: Official NRG Simon Demo Crash
Reported by: | SF/stryfe-dc | Owned by: | zeldin |
---|---|---|---|
Priority: | normal | Component: | Engine: AGOS |
Version: | Keywords: | ||
Cc: | Game: | Simon the Sorcerer 1 |
Description
Platform: Dreamcast Version: 1.4.0, and GIT (dc-master-adb53422) Game: Simon 1 Demo Bug Type: Crash
Hi.
After loading up the "Dreamcast Nero Image & Demos for engines named A-Q", the menu display the two demos properly. Goblins 1, and Simon the Sorcerer 1. While Goblins loads fine, attempting to load Simon causes the system to reset itself. I initially noticed this on the latest stable 1.4.0 release, but also built a GIT daily build version boot disc - labeled "dc-master-adb53422" in the archive. The results were the same, and the Simon 1 demo still caused a reset.
Here's the pastebin for the stable 1.4.0 version. http://pastebin.com/yjjb6UCD
Below is the nullDC log for the GIT.
Ticket imported from: #3467523. Ticket imported from: bugs/5940.
Attachments (3)
Change History (14)
by , 13 years ago
Attachment: | scummvm_git-log.txt added |
---|
comment:1 by , 13 years ago
comment:2 by , 13 years ago
It's been a while since I've done this, so I forgot to test it out on a PC platform. I use Linux, but it doesn't have the latest stable available. I ended up running the Win32 binary through wine, and got the same results. Attempting to load this demo causes the program to crash.
Here's the scummvm.ini with the game demo version. http://pastebin.com/7h5vNW13
For some reason I can only attach once file per tracker item. Here's the game file list with the md5 sums. http://pastebin.com/SaQF9ctK
Hope this helps.
comment:4 by , 13 years ago
OK... Compared files and this is the demo found at: http://demos.scummvm.org/agos/simon1-amiga-floppy-demo-en.zip
All the same files are there and the md5sums match, so the contents should be identical.. The only difference I can see is that your system has converted all the filenames to upper case, but this shouldn't be an issue as the AGOS engine _should_ load files case-insensitive... Will check this and refer to the engine developer if we have a file access issue here.
comment:5 by , 13 years ago
Owner: | set to |
---|
comment:6 by , 13 years ago
Tested with all datafiles uppercase and as per mixed case from zipfile on Linux x86_32. No problem observed. This may be due to restricted number of file handles on the DC platform? Assigning this to the Dreamcast porter to investigate...
comment:7 by , 13 years ago
I just thought I'd reiterate that this demo came from the officially packaged Nero image o the ScummVM downloads page (engines A-Q). The only way I can see the case on the file-names changing is that when I copied them over from the disc, they were recognized as ISO9660 instead of Joliet, or UDF.
comment:8 by , 13 years ago
stryfe-dc: Thanks, but I can't investigate any further myself as I don't have a Dreamcast. I am just doing bug triage as the Dreamcast porter is very busy IRL and may take some time to get to looking at this issue. I therefore also doubt he tested all the games on the CD prior to packaging, so this is probably not due to anything you have done. If you have the technical ability to compile your own DC builds (See http://wiki.scummvm.org/index.php/Compiling_ScummVM/Dreamcast) and do further debugging investigation yourself, that would be appreciated.
comment:9 by , 13 years ago
Hm, some thoughts on this:
* The ISO9660 filesystem implementation is case insensitive, so it can't be a file case issue
* I can reproduce the problem with the 1.4.0 release discs (I only tested gobliins, sorry...), but if I boot 1.3.0 and then swap discs to the 1.4.0 disc, then Simon starts. So the datafiles are ok.
The idea about file descriptors has some merit. 64 fds are supported, which should be sufficient, but maybe one of the engines has an fd leak in the detection function?
If you have time, could you please try the daily build again, but this time remove all the plugins except SIMON (and GOB, if you like) and see if this makes a difference? Because I _have_ tested Simon with the same code base as 1.4.0 (but a static build instead of plugins) and seen it working...
Thanks
comment:10 by , 13 years ago
Ok, found the problem (finally).
The filename "gameamiga" does not contain a period (.), which is a violation of ISO9660. Therefore, mkisofs will add a period at the end, resulting in the filename "GAMEAMIGA.". But since the engine tries to open "gameamiga", it wil not find "GAMEAMIGA.". The soltion is to add the flag -d when running mkisofs, allowing the filename "GAMEAMIGA".
I suppose the reason it worked earler is because the engine didn't need to open this file in older version?
comment:11 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The relevant part of the Null DC output is: <snip> User picked target 'simon1' (gameid 'simon1')... Looking for a plugin supporting this gameid... AGOS Starting 'Simon the Sorcerer 1' <...> loadGamePcFile: Can't load gamexx file 'gameamiga'! SB/HOLLY : System reset requested <end snip>
"loadGamePcFile: Can't load gamexx file 'gameamiga'!" is a fatal error from the AGOS engine used for Simon indicating either a problem with resource/datafile loading or a misdetection of the game variant.
Please can you identify the specific demo you are trying from: http://demos.scummvm.org/agos/
AND/OR attach a text file to this bug with a file listing of your Simon1 demo datafiles and associated MD5sums. The output of a tool such as http://md5summer.org/ would be optimal.