View Single Post
Old 27 December 2015, 18:07   #1
Hannibal
Registered User
 
Join Date: May 2015
Location: Kirkland, Washington, USA
Posts: 56
built-in rom crashes client and host on shrinkler-packed executables

While trying to run octorubber (or other demos packed with same packer), on a4000 default config, with the replacement rom, the amiga-side emulator crashes, and then the host system crashes.

Repro steps:
1. WinUAE 3.2.2 (I used a clean download)
2. quickstart a4000 config - no roms
3. add dh0 as an empty folder
4. put octorubber in the folder (http://www.pouet.net/prod.php?which=64249 -> download -> unpack it)
5. boot the emulator
6. launch octorubber from the CLI

Repro rate 100% (5/5 attempts)

Note: I have done the same with an executable I shrinkler-packed - same crash. If I didn't shrinkler-pack my executable, it didn't crash.
This repros in 3.0.0 as well.

Note: With a tweaked configurations, the WinUAE host does not crash, but the demo just never launches. In the debugger I see the program counter is in some weird address in not real memory. I suspect there are 2 bugs here:
1. the built-in replacement ROM doesn't properly launch Shrinkler-packed executables because of Shrinkler's assumptions about registers ("Your Amiga program just did something terribly stupid" in the log). This seems like a compatibility bug and was reported on aros-exec.org.
2. WinUAE (host side) crashes as a side effect of this.


Note from the author of Shrinkler about the AROS rom: "my guess is it leaves registers in a different state than the AmigaOS launcher. Shrinkler assumes that A3 points to the loaded segment list (4 bytes before the entry point) which is true for all Amiga kickstarts but might not be for AROS.

If A3 points to garbage, it could give the behavior you describe"
Attached Files
File Type: zip LogsAndCrashDump.zip (49.7 KB, 116 views)
Hannibal is offline  
 
Page generated in 0.04871 seconds with 12 queries