Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05215 Crash/Freeze Critical (emulator) Always Jun 12, 2013, 05:38 Jun 13, 2013, 21:02
Tester LordFlux View Status Public Platform MESS (Official Binary)
Assigned To etabeta Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver pce.cpp
Version 0.149 Fixed in Version 0.149u1 Build 64-bit
Summary MESS-specific 05215: [pce] cdrom games: Peroidic crashes or black screen
Description When using command-line:

mess64 pce draculax

MESS will only display a black screen.

When using command-line:

mess64 pce scdsys -cdrm draculax.chd

MESS crashes with the following:

00000f32 00000002
00000f34 00000001
00000f75 0000000a

-----------------------------------------------------
Exception at EIP=00000000007B30FC (not found): ACCESS VIOLATION
While attempting to write memory at 00000000085B9530
-----------------------------------------------------
RAX=00000000084E7530 RBX=000000000031BAD0 RCX=000000000037AF90 RDX=0000000007BD4010
RSI=000000000031BF30 RDI=000000000031BF30 RBP=0000000000238820 RSP=0000000000238820
 R8=00000000000D2000 R9=000000000000004C R10=000000000037A030 R11=0000000000000000
R12=0000000000000001 R13=098CA098AEEED248 R14=0DE0B6B3A763FFFF R15=F21F494C589C0000
-----------------------------------------------------
Stack crawl:
  0000000000238820: 00000000007B30FC (not found)
  0000000000238860: 0000000001D55333 (not found)
  00000000002388A0: 0000000000F95CEC (not found)
  0000000000238960: 000000000138DDD0 (not found)
  0000000000238B50: 00000000013A44F4 (not found)
  000000000023F350: 00000000012E2D1D (not found)
  000000000023F890: 0000000001449B63 (not found)
  000000000023FE00: 0000000000CA6124 (not found)
  000000000023FE60: 000000000175D59C (not found)
  000000000023FF20: 00000000004013F0 (not found)
  000000000023FF50: 00000000004014F8 (not found)
  000000000023FF80: 000007F8BB02167E (BaseThreadInitThunk+0x001a)
  000000000023FFD0: 000007F8BD8CD609 (RtlUserThreadStart+0x0021)
Steps To Reproduce mess64 pce draculax

mess64 pce scdsys -cdrm draculax.chd
Additional Information
Flags
Regression Version 0.149
Affected Sets / Systems [pce] cdrom games
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
9
User avatar
No.09598
etabeta
Developer
Jun 12, 2013, 07:59
edited on: Jun 12, 2013, 08:00
these are two separate issue.

I can reproduce the former and it seems due to command line handling being unable to add automagically the cdsys cart with current code. in a sense, it's accurate to the system (which would not have worked without the cd cart inserted), but it's still a bug because we are supposed to force the cart loading...

I cannot reproduce the crash on the other hand. does it work if you run "mess64 pce -cart scdsys -cdrm draculax" (which for the record would be the correct syntax from command line ;) )? or does it crash in that case too?
depending on the answer I might have an idea about what the problem could be...
User avatar
No.09599
LordFlux
Tester
Jun 12, 2013, 09:00
when using:

mess64 pce -cart scdsys -cdrm draculax

MESS loads scdsys correctly. When I press Run to start the game, MESS crashes and displays the following:

00000f32 00000002
00000f34 00000001
00000f75 0000000a

-----------------------------------------------------
Exception at EIP=00000000007B30FC (not found): ACCESS VIOLATION
While attempting to write memory at 0000000008578B60
-----------------------------------------------------
RAX=00000000084A6B60 RBX=00000000035149E0 RCX=000000000351D5A0 RDX=000000000792B860
RSI=0000000003514E40 RDI=0000000003514E40 RBP=0000000000238820 RSP=0000000000238820
 R8=00000000000D2000 R9=000000000000004C R10=000000000351C640 R11=0000000000000001
R12=0000000000000001 R13=0D075737546939E4 R14=0DE0B6B3A763FFFF R15=F21F494C589C0000
-----------------------------------------------------
Stack crawl:
  0000000000238820: 00000000007B30FC (not found)
  0000000000238860: 0000000001D55333 (not found)
  00000000002388A0: 0000000000F95CEC (not found)
  0000000000238960: 000000000138DDD0 (not found)
  0000000000238B50: 00000000013A44F4 (not found)
  000000000023F350: 00000000012E2D1D (not found)
  000000000023F890: 0000000001449B63 (not found)
  000000000023FE00: 0000000000CA6124 (not found)
  000000000023FE60: 000000000175D59C (not found)
  000000000023FF20: 00000000004013F0 (not found)
  000000000023FF50: 00000000004014F8 (not found)
  000000000023FF80: 000007F8BB02167E (BaseThreadInitThunk+0x001a)
  000000000023FFD0: 000007F8BD8CD609 (RtlUserThreadStart+0x0021)
User avatar
No.09600
LordFlux
Tester
Jun 12, 2013, 09:12
I just tried several other CD games using the corrected syntax and it looks like some games work and others don't.

One interesting case in particular is:

mess64 pce -cart scdsys -cdrm cotton

The game starts and tells me that the File Cabinet is not initialized. When I press Run to start the game, then it crashes.

Maybe the crash is NVRAM related?
User avatar
No.09601
LordFlux
Tester
Jun 12, 2013, 09:44
I believe I found the cause of the crash. When I reported the bug, I didn't think about the fact that I had 'window 1' set in my MESS.INI file. When I change it back to 'window 0' then draculax works.

Now when I run:

mess64 pce -cart scdsys -cdrm draculax -window

The game crashes after pressing Run.

It works fine in full screen mode.
User avatar
No.09602
etabeta
Developer
Jun 12, 2013, 10:00
that's even weirder than I would have expected...

are you in a position to compile the source? it would help a lot if you could get a build with SYMBOLS=1 and obtain a full backtrace
User avatar
No.09604
etabeta
Developer
Jun 12, 2013, 12:15
edited on: Jun 12, 2013, 12:15
OK. with some help from Tafoid, I was able to spot a bug in the RAM handling for SuperCDSys cart (and for Populous too).
The crash problem should be fixed in current svn.
User avatar
No.09606
etabeta
Developer
Jun 13, 2013, 06:58
only half of the reported issues has been fixed by my change...

the bug about "mess pce -cdrm draculax" not working has not been fixed and it's due to an issue in the automount code from softlist
User avatar
No.09607
Tafoid
Administrator
Jun 13, 2013, 12:18
I had no idea of any automount code. That just sounds like someone being lazy. You'd have to mount the card manually for CD's anyway. I took this bug, anyway, as the CDROM's not working issue due to the RAM handling. If the other issue needs a report (which I don't think it does), then so be it.
User avatar
No.09609
etabeta
Developer
Jun 13, 2013, 21:02
No lazyness involved. ;)

Some releases ago (at least 1 year has passed, maybe more), Micko explicitly added to softlists the capability for MESS to be aware that a specific item require another item to be loaded

See lines <sharedfeat name="requirement" value="cdsys"/> and <sharedfeat name="requirement" value="scdsys"/> in hash/pcecd.xml


This broke in latest release, because Micko's code seems to take precedence over the slot option setup, causing the cart not to be properly initialized. it's a bug :)