zoom
zoom copied to clipboard
Build failure on Catalina
HI – I noticed after running Catalina Beta that Zoom isn't 64bit. Tried to build project with most recent Xcode failed. Is getting this working on 64-bit going to be a lot more more?
Thanks for keeping this alive over the years!!
I've pushed my latest version that compiles with Mojave. That's all it does at the moment: there's some kind of incompatibility with the newer framework version that causes it to crash on startup, combined with something that's causing XCode's debugger to fail to attach properly, which is getting in the way of working out what's going wrong.
Note that you can find a version I compiled a few years ago that should have 64-bit support over at https://logicalshift.io/zoom/Zoom-20150906.zip
Note that you can find a version I compiled a few years ago that should have 64-bit support over at https://logicalshift.io/zoom/Zoom-20150906.zip
Nope. Doesn’t.
Hope this helps:
Process: Zoom [74730]
Path: /Applications/Zoom.app/Contents/MacOS/Zoom
Identifier: uk.org.logicalshift.zoom
Version: 1.1.6
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Zoom [74730]
User ID: 501
Date/Time: 2019-09-30 18:27:38.811 +0200
OS Version: Mac OS X 10.15 (19A573a)
Report Version: 12
Anonymous UUID: E5B2099B-F23C-9786-069B-036353A99801
Sleep/Wake UUID: E84ABF64-A912-4CA9-9FF5-1416F209717C
Time Awake Since Boot: 190000 seconds
Time Since Wake: 1000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [74730]
Application Specific Information:
◊ûˇ
BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_platform.dylib 0x00007fff730e343c _os_unfair_lock_recursive_abort + 23
1 libsystem_platform.dylib 0x00007fff730deceb _os_unfair_lock_lock_slow + 256
2 com.apple.AppKit 0x00007fff42580ad5 _NXFreeImageCache + 48
3 com.apple.AppKit 0x00007fff4216aef2 -[NSCachedImageRep _copyNSCGImageRep] + 937
4 com.apple.AppKit 0x00007fff4216b020 -[NSCachedImageRep CGImageForProposedRect:context:hints:] + 42
5 com.apple.AppKit 0x00007fff41de3a6c __74-[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke + 910
6 com.apple.AppKit 0x00007fff41de358e -[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 946
7 com.apple.AppKit 0x00007fff422b8da6 __71-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke.1343 + 693
8 com.apple.AppKit 0x00007fff41d46f0c -[NSImage _usingBestRepresentationForRect:context:hints:body:] + 145
9 com.apple.AppKit 0x00007fff41de26d5 -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 1343
10 uk.org.logicalshift.zoom 0x000000010001beef 0x100000000 + 114415
11 com.apple.AppKit 0x00007fff41dad548 _NSViewDrawRect + 139
12 com.apple.AppKit 0x00007fff41d9c901 -[NSView _drawRect:clip:] + 1103
13 com.apple.AppKit 0x00007fff41d9ae1c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 2143
14 com.apple.AppKit 0x00007fff41d9b36c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3503
15 com.apple.AppKit 0x00007fff41d9b36c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3503
16 com.apple.AppKit 0x00007fff41d9b36c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3503
17 com.apple.AppKit 0x00007fff41d9b36c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3503
18 com.apple.AppKit 0x00007fff41d9b36c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3503
19 com.apple.AppKit 0x00007fff41d9b36c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 3503
20 com.apple.AppKit 0x00007fff41d9850c -[NSView _oldDisplayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2126
21 com.apple.AppKit 0x00007fff41d946da -[NSView displayIfNeeded] + 755
22 com.apple.AppKit 0x00007fff41d918e6 -[NSWindow displayIfNeeded] + 261
23 com.apple.AppKit 0x00007fff41d43ef2 -[NSWindow _setColorSpace:sendNotification:displayIfChanged:] + 406
24 com.apple.AppKit 0x00007fff41d3f82a -[NSWindow _commonAwake] + 2067
25 com.apple.AppKit 0x00007fff41dd0a93 NSWindowWakeDeferredIfNeeded + 94
26 com.apple.AppKit 0x00007fff41dd0958 -[NSWindow(NSFullScreen) _resolveAutomaticEnterFullScreenFlags] + 22
27 com.apple.AppKit 0x00007fff41dd090e -[NSWindow makeKeyAndOrderFront:] + 27
28 uk.org.logicalshift.zoom 0x00000001000031a1 0x100000000 + 12705
29 com.apple.AppKit 0x00007fff41ca6461 -[NSApplication _doOpenUntitled] + 429
30 com.apple.AppKit 0x00007fff41ca5faf __58-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]_block_invoke + 232
31 com.apple.AppKit 0x00007fff41ca5d39 __90-[NSDocumentController(NSInternal) _autoreopenDocumentsFromRecords:withCompletionHandler:]_block_invoke + 52
32 com.apple.AppKit 0x00007fff41ca5c83 -[NSDocumentController(NSInternal) _autoreopenDocumentsFromRecords:withCompletionHandler:] + 328
33 com.apple.AppKit 0x00007fff41ca5b13 __97-[NSDocumentController(NSInternal) _autoreopenDocumentsIgnoringExpendable:withCompletionHandler:]_block_invoke_3 + 95
34 com.apple.AppKit 0x00007fff41ca56b9 -[NSDocumentController(NSInternal) _autoreopenDocumentsIgnoringExpendable:withCompletionHandler:] + 590
35 com.apple.AppKit 0x00007fff41ca4f93 -[NSApplication _reopenWindowsAsNecessaryIncludingRestorableState:completionHandler:] + 249
36 com.apple.AppKit 0x00007fff41ca4d89 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 536
37 com.apple.AppKit 0x00007fff41ca49e9 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 688
38 com.apple.Foundation 0x00007fff46e0a9c2 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 308
39 com.apple.Foundation 0x00007fff46e0a82c _NSAppleEventManagerGenericHandler + 98
40 com.apple.AE 0x00007fff45b303a2 0x7fff45b27000 + 37794
41 com.apple.AE 0x00007fff45b2fac9 0x7fff45b27000 + 35529
42 com.apple.AE 0x00007fff45b2f997 aeProcessAppleEvent + 449
43 com.apple.HIToolbox 0x00007fff433f7268 AEProcessAppleEvent + 54
44 com.apple.AppKit 0x00007fff41ca101c _DPSNextEvent + 1670
45 com.apple.AppKit 0x00007fff41c9fae4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
46 com.apple.AppKit 0x00007fff41c9a284 -[NSApplication run] + 658
47 com.apple.AppKit 0x00007fff41c8c12d NSApplicationMain + 777
48 uk.org.logicalshift.zoom 0x00000001000018c4 start + 52
Any news on this? I tried compiling the code but it fails due to not being able to find code in the babel project that was installed in the directory above the source code for zoom. Installing the babel transpiler does not help.
I think the source code for babel that can be retrieved from http://babel.ifarchive.org still works with the current version of Zoom: the version I have is 0.2b from 2006.
I've got it compiling and it seems to be working (still on Mojave here) but the Glulx plugin isn't working at the moment: it's the cause of the crashes I think - when compiled with a more modern library it returns a nil value for the principal class: the errors aren't that helpful but it looks like something is linking both the client and the view (which then fails to load as the communication classes are defined in both libraries)
Okay. That version of babel works. When setting a breakpoint in the init method of ZoomAppDelegate.m, I get the following dialogs:
For security reasons, updates to Zoom need to be served over HTTPS and/or signed with an EdDSA key. See https://sparkle-project.org/documentation/ for more information.
In looking at the pList, I see that SUFeedURL is http, not https, and the URL does not exist on logicalshift.co.uk; I'm assuming it would only exist if an update were available. Same with ZoomPluginFeedTestURL.
When accessing ZoomPluginFeedURL, though, the following error appears:
This page contains the following errors: error on line 3 at column 1: Extra content at the end of the document Below is a rendering of the page up to the first error.
Has anyone successfully compiled in Catalina?
Yes. I submitted my code changes that enabled me to get Zoom compiled under Catalina.
Chad Cranfill
On Mon, Feb 24, 2020 at 10:13 PM Dylan Bromby [email protected] wrote:
Has anyone successfully compiled in Catalina?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Logicalshift/zoom/issues/13?email_source=notifications&email_token=ACEEYQMSRW67VX2UOKE2HADRESLF3A5CNFSM4IVOYKVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM2PSEA#issuecomment-590674192, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACEEYQJ3HE5TIGJQJVZRC3LRESLF3ANCNFSM4IVOYKVA .
@cocranfill There's only one branch in the project and no open PRs. And I don't see any closed PRs authored by you -- are these changes in the main branch?
Let me check. If not, I’ll resubmit.
Chad Cranfill
On Tue, Feb 25, 2020 at 2:13 PM Dylan Bromby [email protected] wrote:
@cocranfill https://github.com/cocranfill There's only one branch in the project and no open PRs. And I don't see any closed PRs authored by you -- are these changes in the main branch?
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Logicalshift/zoom/issues/13?email_source=notifications&email_token=ACEEYQKBOOK7XVRIDHAAQDTREV3WHA5CNFSM4IVOYKVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM5KQBQ#issuecomment-591046662, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACEEYQLFJAVU6DIEIJUHYZLREV3WHANCNFSM4IVOYKVA .
It's building for me (it seems there are some circular dependencies that upset the latest version of XCode: I've made some tweaks that might fix this). Zoom's definitely a bit tricky to build as it's a rather old project: the ZoomServer target in particular is of a kind that can only be created in Project Builder!
Not sure what's going on with Catalina at the moment: it's crashing with a null dereference without generating any useful log messages or stack traces. This also happened on Mojave and was to do with the dynamic loading of the various libraries (though it was actually fixable there): see 8e8f0933e5fecf5d1914ae4c4889be5fc74d46bf - I don't think it's getting that far now, but the nature of crash makes it rather hard to debug.
(Just for extra fun: the similar bug in Mojave disrupts the debuggers ability to reliably set breakpoints, presumably due to the crash occurring while loading executable code)
Let me check. If not, I’ll resubmit. Chad Cranfill
I can't see a PR or branch, nor a fork under your account. @cocranfill
In the meantime, I've made some progress and the latest version will actually run - somewhat badly and only with the Z-Machine interpreter.
There's a bunch of graphical glitches with the iFiction window to be worked through. The old plugin code seems to break something on Catalina and was responsible for the debugger failing, so it's been replaced by a no-op - I think the right thing to do there is to load everything directly and ditch the dynamic loading. There's another graphical glitch in the main game window: no editing cursor.
The crash was due to an invalid operation in an image drawing instruction: it's in an animation so non-critical and I've commented it out for now, not sure if it'll be noticeable if it's just left that way.
@Logicalshift when you say running -- albeit badly -- do you mean on Catalina?
Yes - the current latest version is starting up for me in Catalina: I managed to track down the crash on startup to a (slightly bizarre) crash while rendering an image, which I fixed by just not rendering that image. The problem with debugging turned out to be something to do with the plugin loading system, so I disabled that too.
There's a bunch of calls to obsolete APIs and some warnings about invalid JPEG2000 data that makes no sense at all (I don't think there are any JPEG2000 images in the package), and disabling the plugins means that only the Z-Machine is working, but it's definitely starting up successfully now.
@Logicalshift I'm def not a pro, but just tried building the Zoom target in the latest Xcode to no avail. What's your build env?
Plain XCode: I've just moved to a new Mac so that should be all that's required, but I'm working from a source tree that I know builds correctly, and part of Zoom's age shows in it having a slightly sensitive build process.
I haven't tried building straight from a fresh clone of the repo for a while: let's see what needs to be done:
- target needs to be Zoom
- you need to check out CocoaGlk into zoom/depends. You can get a version using
git submodule initandgit submodule updatebut it's a bit old - CocoaGlk itself has glulxe as a submodule so you might need to
- you need a copy of babel in a folder next to your clone (ie, if you have zoom cloned into
src/zoom, the babel source needs to be insrc/babel. You can get the babel source code from http://babel.ifarchive.org/program.html - if you don't have an active Apple Developer account you may need to disable code signing on the project
- there's some ordering issue with ZoomServer that means you might need to try building it twice as it tries to use a file before it's generated (ie, literally just try again if you get an error in ZoomServer's build)
Agh, that's a lot: if you start with a folder with the babel source unzipped into it, the following commands in a terminal should make things work:
git clone https://github.com/Logicalshift/zoom.git
cd zoom/depends
git clone https://github.com/Logicalshift/CocoaGlk.git
cd CocoaGlk
git submodule init
git submodule update
So you end up with a folder structure like this:
babel/
zoom/
zoom/depends/CocoaGlk
zoom/depends/CocoaGlk/depends/glulxe
(Life as it was before package managers...)
I submitted my PR. Sorry for the delay.
@Logicalshift You're a champ Andrew -- thanks for your commitment to this project. I'll fiddle with this as time permits over the next couple days but I don't know how much value I can add. I spent a ridiculous amount of time playing Infocom games in Jr. High & HS; I'm excited at the prospect of seeing Zoom run again.
Following the steps above did not lead to a successful compiliation on Catalina. Is there any chance a release for Catalina will be made? Does anyone have a compilied version that runs on Catalina?
Is there any update on this at all, please? Can anyone point to a compiled version that will run on Catalina?
Is there any update on this at all, please? Can anyone point to a compiled version that will run on Catalina?
You might try this link: https://github.com/cocranfill It was mentioned above, buried in a comment/reply.
When I open it on 10.15.7, I get: “Zoom” is damaged and can’t be opened. You should move it to the Bin.
Try this: https://logicalshift.io/zoom/Zoom-20210105.zip - I've only just got it built and I've only tested Z-Code so far, and the only extra interpreter included is for Glulx (and the preferences window is still broken). Should have support for Apple Silicon too.
I've had another go at building it: I think because Zoom is rather old (hm, 21 years), bits are getting deprecated every time Apple makes a new XCode release so there were a bunch more things to reconfigure. I've only got Big Sur to test on, but I think this should be OK on Catalina.