Opened 9 years ago

Closed 9 years ago

Last modified 21 months ago

#5898 closed defect (fixed)

MACOSX: version 1.4.0 fails to start on 10.3 PPC

Reported by: criezy Owned by: vinterstum
Priority: normal Component: Port: Mac OS X
Keywords: Cc:
Game:

Description

When trying to start ScummVM 1.4.0 on my G3 (PPC) laptop running MacOS 10.3.9 ScummVM gets stuck (the application does not crash but the window never appears). When starting it from the terminal I get the following errors: +[NSString stringWithCString:encoding]: selector not recognized Exception raised during posting of notification. Ignored. exception: *** +[NSString stringWithCString:encoding]: selector not recognized Assertion failure in -[NSMenu itemAtIndex], Menus.subproj/ NSMenu.m: 638 NSTimer discarding exception 'NSInternalInconsistencyException' (reason 'Invalid parameter not satisfaying: (index >= 0 && (index < (_itemArray ? CFArrayGetCount(_itemArray) : 0))') that was raised during firing timer with target 18a0428 and selector 'cocoaGesturesInsertMenu'

If I had to make educated guesses I would say that: the first one (selector not recognized) might come from the code added to translate the MacOS X menu (in backends/platform/sdl/macosx/appmenu_osx.mm). the last one (assertion failure in [NSMenu itemAtIndex] might come from the code that added Sparkle support (backends/updates/macosx/macosx-updates.mm) since it seems to be the only one using that method (on line 48: NSMenuItem *menuItem = [[NSApp mainMenu] itemAtIndex:0];).

I can also confirm that ScummVM 1.3.1 works on the same system.

Ticket imported from: #3437529. Ticket imported from: bugs/5898.

Change History (9)

comment:1 by lordhoto, 9 years ago

Just wondering: Shouldn't sparkle supported be disabled anyway? I mean we don't really support that yet, do we?

comment:2 by vinterstum, 9 years ago

The sparkle support works, as far as I could tell. We don't have an update webcast yet, but that's only important for the next update, really.

Do the daily builds work on the same system? That would confirm whether it's the Sparkle support which is at fault.

comment:3 by vinterstum, 9 years ago

Owner: set to vinterstum

comment:4 by criezy, 9 years ago

Part of my initial message was wrong. I had a thing called CocoaGestures installed (and didn't even remember it was there). After removing it and rebooting, only the first two messages appear: +[NSString stringWithCString:encoding]: selector not recognized Exception raised during posting of notification. Ignored. exception: *** +[NSString stringWithCString:encoding]: selector not recognized

I also tried with the stable PPC from buildbot (osx_ppc-stable-623fd6cc) and it gives exactly the same result (same messages and freeze before the window appear). I tried the same executable on my Intel Mac (with Rosetta) on 10.6 and it works well here. What I noticed in that on the 10.3 PPC computer the Menu appears with one menu called 'Window' which then disappears and the menubar stays empty (and it freezes). On the 10.6 Intel computer I get a menu 'ScummVM' and a 'Fenêtre' (translation of 'Window' in french).

On the 10.3 PPC machine I also started GDB to get the call stack when it freezes: #0 in mach_msgtrap() #1 in mach_msg() #2 in __CFRunLoopRun() #3 in CFRunLoopRunSpecific() #4 in RunCurrentEventLoopInMode() #5 in ReceiveNextEventCommon() #6 in BlockUntilNextEventMatchingListInMode() #7 in _DPSNextEvent() #8 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] () #9 in -[NSApplication run] ()

comment:5 by vinterstum, 9 years ago

Hm ok, then it's not the Sparkle support (the build I posted had that disabled for PPC). I guess that leaves the appmenu_osx.mm stuff, I haven't ever looked at that though. I'll try to dig up my PPC Mac Mini from wherever it is :P.

comment:6 by SF/schnaks, 9 years ago

The NSString selector stringWithCString:encoding: used in backends/platform/sdl/macosx/appmenu_osx.mm and backends/updates/macosx/macosx-updates.mm was introduced in Mac OS X 10.4 and is not available in older versions. (see <http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/clm/NSString/stringWithCString:encoding:>)

comment:7 by vinterstum, 9 years ago

Resolution: fixed
Status: newclosed

comment:8 by vinterstum, 9 years ago

Fixed in e2668a20dc234a5f975ca54b9e6b63e4d0c0586e, hopefully.

comment:9 by digitall, 21 months ago

Component: Port: Mac OS X
Note: See TracTickets for help on using tickets.