Opened 5 years ago

Last modified 5 months ago

#10940 new defect

AGOS: StS1 - savegame causes hang after first interaction (quick save/load)

Reported by: mrmacete Owned by:
Priority: normal Component: Engine: AGOS
Version: Keywords: savegame
Cc: Game: Simon the Sorcerer 1

Description

Platform: macOS

After loading the attached savegame file, the game seems to hang.

Occasionally got the error runVgaScript: Invalid VGA opcode '11732' encountered!

but not always.

This is the backtrace generated using LLDB from the nightly build:

(lldb) bt all
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0xa7bde32e libsystem_kernel.dylib`mach_wait_until + 10
    frame #1: 0xa7b66b7d libsystem_c.dylib`nanosleep + 322
    frame #2: 0x02039593 scummvm
    frame #3: 0x00003927 scummvm
    frame #4: 0x002bd666 scummvm
    frame #5: 0x002c84a8 scummvm
    frame #6: 0x002ab235 scummvm
    frame #7: 0x02677826 scummvm`AGOS::AGOSEngine::run() + 140
    frame #8: 0x00008e80 scummvm
    frame #9: 0x0000a0ef scummvm
    frame #10: 0x00006393 scummvm
    frame #11: 0x02038c1b scummvm
    frame #12: 0x95157d9a Foundation`__66-[NSNotificationCenter _addObserver:selector:name:object:options:]_block_invoke + 29
    frame #13: 0x93823928 CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 18
    frame #14: 0x9382389d CoreFoundation`___CFXRegistrationPost_block_invoke + 76
    frame #15: 0x938237f8 CoreFoundation`_CFXRegistrationPost + 429
    frame #16: 0x9382b730 CoreFoundation`___CFXNotificationPost_block_invoke + 101
    frame #17: 0x93798d90 CoreFoundation`-[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1674
    frame #18: 0x93798089 CoreFoundation`_CFXNotificationPost + 806
    frame #19: 0x9511053c Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 71
    frame #20: 0x914ae5c5 AppKit`-[NSApplication _postDidFinishNotification] + 318
    frame #21: 0x914adf89 AppKit`-[NSApplication _sendFinishLaunchingNotification] + 222
    frame #22: 0x914ac26e AppKit`-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 523
    frame #23: 0x914abeb7 AppKit`-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 569
    frame #24: 0xa6b98ec4 libobjc.A.dylib`-[NSObject performSelector:withObject:withObject:] + 63
    frame #25: 0x951578ab Foundation`__76-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEventID:]_block_invoke + 92
    frame #26: 0x951574b5 Foundation`-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 397
    frame #27: 0x951572e3 Foundation`_NSAppleEventManagerGenericHandler + 186
    frame #28: 0x947711c7 AE`aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned long, unsigned char*) + 1699
    frame #29: 0x9476245e AE`dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 30
    frame #30: 0x94762347 AE`aeProcessAppleEvent + 443
    frame #31: 0x92defb52 HIToolbox`AEProcessAppleEvent + 54
    frame #32: 0x914a8510 AppKit`_DPSNextEvent + 2060
    frame #33: 0x914a6d5b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 957
    frame #34: 0x914a6996 AppKit`-[NSApplication(NSEvent) nextEventMatchingMask:untilDate:inMode:dequeue:] + 108
    frame #35: 0x914a1037 AppKit`-[NSApplication run] + 751
    frame #36: 0x02039388 scummvm
    frame #37: 0x00002702 scummvm
    frame #38: 0x00002629 scummvm
  thread #2
    frame #0: 0xa7bdfab6 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0xa7c909c1 libsystem_pthread.dylib`_pthread_wqthread + 415
    frame #2: 0xa7c907aa libsystem_pthread.dylib`start_wqthread + 34
  thread #3, name = 'com.apple.audio.IOThread.client'
    frame #0: 0xa7bde1d2 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0xa7bde713 libsystem_kernel.dylib`mach_msg + 47
    frame #2: 0x933d8899 CoreAudio`HALB_MachPort::SendMessageWithReply(unsigned int, unsigned int, unsigned long, unsigned long, mach_msg_header_t*, bool, unsigned int) + 119
    frame #3: 0x933b3d41 CoreAudio`HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 49
    frame #4: 0x933b0f25 CoreAudio`HALC_ProxyIOContext::IOWorkLoop() + 1517
    frame #5: 0x933b072c CoreAudio`HALC_ProxyIOContext::IOThreadEntry(void*) + 208
    frame #6: 0x933e0db6 CoreAudio`___ZN19HALC_ProxyIOContextC2Emj_block_invoke + 20
    frame #7: 0x933b0403 CoreAudio`HALB_IOThread::Entry(void*) + 71
    frame #8: 0xa7c915f8 libsystem_pthread.dylib`_pthread_body + 137
    frame #9: 0xa7c947f7 libsystem_pthread.dylib`_pthread_start + 78
    frame #10: 0xa7c907ce libsystem_pthread.dylib`thread_start + 34
  thread #4
    frame #0: 0xa7bde32e libsystem_kernel.dylib`mach_wait_until + 10
    frame #1: 0xa7b66b7d libsystem_c.dylib`nanosleep + 322
    frame #2: 0x02039593 scummvm
    frame #3: 0x020395dc scummvm
    frame #4: 0x0209de8d scummvm
    frame #5: 0x020ad801 scummvm
    frame #6: 0xa7c915f8 libsystem_pthread.dylib`_pthread_body + 137
    frame #7: 0xa7c947f7 libsystem_pthread.dylib`_pthread_start + 78
    frame #8: 0xa7c907ce libsystem_pthread.dylib`thread_start + 34
  thread #5, name = 'com.apple.NSEventThread'
    frame #0: 0xa7bde1d2 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0xa7bde713 libsystem_kernel.dylib`mach_msg + 47
    frame #2: 0x937c58ab CoreFoundation`__CFRunLoopServiceMachPort + 289
    frame #3: 0x937c4fd5 CoreFoundation`__CFRunLoopRun + 2896
    frame #4: 0x937c4188 CoreFoundation`CFRunLoopRunSpecific + 584
    frame #5: 0x937dceed CoreFoundation`CFRunLoopRunInMode + 82
    frame #6: 0x914afc3a AppKit`_NSEventThread + 165
    frame #7: 0xa7c915f8 libsystem_pthread.dylib`_pthread_body + 137
    frame #8: 0xa7c947f7 libsystem_pthread.dylib`_pthread_start + 78
    frame #9: 0xa7c907ce libsystem_pthread.dylib`thread_start + 34
  thread #6
    frame #0: 0xa7bde1d2 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0xa7bde713 libsystem_kernel.dylib`mach_msg + 47
    frame #2: 0x945b0031 CoreMIDI`XServerMachPort::ReceiveMessage(int&, void*, int&) + 67
    frame #3: 0x945cc886 CoreMIDI`MIDIProcess::RunMIDIInThread() + 332
    frame #4: 0x945d839a CoreMIDI`MIDIProcess::MIDIInPortThread::Run() + 24
    frame #5: 0x945e20c3 CoreMIDI`XThread::RunHelper(void*) + 17
    frame #6: 0x945e7038 CoreMIDI`CAPThread::Entry(CAPThread*) + 94
    frame #7: 0xa7c915f8 libsystem_pthread.dylib`_pthread_body + 137
    frame #8: 0xa7c947f7 libsystem_pthread.dylib`_pthread_start + 78
    frame #9: 0xa7c907ce libsystem_pthread.dylib`thread_start + 34
  thread #7
    frame #0: 0x00000000

Attachments (1)

simon1.001 (869 bytes ) - added by mrmacete 5 years ago.

Download all attachments as: .zip

Change History (7)

by mrmacete, 5 years ago

Attachment: simon1.001 added

comment:1 by mrmacete, 5 years ago

more context: it's not hanging forever, apparently it's trapped in a long sync wait.

messing with variables 35, 133, 100 from the debugger i managed to work around that and go back to normalness, after a couple of sync waits timed out.

comment:2 by Kirben, 5 years ago

Use the in game interface to load and save games, and not the quick keys to avoid these problems. Unfortunately the code for quick loading and saving still seems incomplete, when used in some places.

in reply to:  2 comment:3 by mrmacete, 5 years ago

Replying to Kirben:

Use the in game interface to load and save games, and not the quick keys to avoid these problems. Unfortunately the code for quick loading and saving still seems incomplete, when used in some places.

thanks! yeah, learned that the hard way XD

comment:4 by raziel-, 4 years ago

Summary: SimonI savegame causes hang after first interactionAGOS: StS1 - savegame causes hang after first interaction (quick save/load)

comment:5 by somaen, 5 months ago

So this can be closed, if the savegame itself is invalid due to being saved at a problematic point?

comment:6 by mrmacete, 5 months ago

absolutely!

Note: See TracTickets for help on using tickets.