Jump to content
Spriter Forums

Spriter crashing on Silicon Mac


Pak Protector

Recommended Posts

I've been using Release 9 of Spriter on my MacBook Air M2 quite happily since last year and it helped whilst developing my SpriteKit library for Spriter.

About a month ago, I think Apple updated something in macOS Sonoma, and now Spriter crashes on startup with the crash report below.  I've reported this to Apple in the hopes that it is something they might fix at their end.

The same binary runs OK on a much older Intel based Mac, but it's not portable, so I am unable to work productively with Spriter on my laptop.

I know that this is likely Apple's thing to fix, but is there any chance of a rebuild of Release 9 for Silicon?

Regards

Pak-Protector.

 

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Spriter [2373]
Path:                  /Applications/Spriter.app/Contents/MacOS/Spriter
Identifier:            com.BrashMonkey.Spriter
Version:               ???
Code Type:             X86-64 (Translated)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2024-09-20 09:44:32.4420 +1000
OS Version:            macOS 14.7 (23H124)
Report Version:        12
Anonymous UUID:        467AB513-93A8-F003-C3C7-7259B7CD2904


Time Awake Since Boot: 250 seconds

System Integrity Protection: enabled

Notes:
PC register does not match crashing frame (0x0 vs 0x111B28572)

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000800000000001 -> 0x0000000000000001 (possible pointer authentication failure)
Exception Codes:       0x0000000000000001, 0x0000800000000001

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [2373]

VM Region Info: 0x1 is not in any region.  Bytes before following region: 4377137151
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      104e5d000-105547000    [ 7080K] r-x/rwx SM=COW  /Applications/Spriter.app/Contents/MacOS/Spriter

Error Formulating Crash Report:
PC register does not match crashing frame (0x0 vs 0x111B28572)

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   QtNetwork                                0x111b28572 0x111a6a000 + 779634
1   QtNetwork                                0x111b2846d 0x111a6a000 + 779373
2   QtNetwork                                0x111b1718a QSslCertificate::fromData(QByteArray const&, QSsl::EncodingFormat) + 26
3   QtNetwork                                0x111b2dcb8 0x111a6a000 + 801976
4   QtNetwork                                0x111b2d5cb 0x111a6a000 + 800203
5   QtNetwork                                0x111b1659a QSslCertificate::QSslCertificate(QByteArray const&, QSsl::EncodingFormat) + 122
6   QtNetwork                                0x111b1a7e0 0x111a6a000 + 722912
7   QtNetwork                                0x111b18bd3 QSslConfiguration::QSslConfiguration() + 35
8   QtNetwork                                0x111ab50e0 0x111a6a000 + 307424
9   QtNetwork                                0x111ab2ff7 0x111a6a000 + 298999
10  QtNetwork                                0x111a980f8 QNetworkAccessManager::createRequest(QNetworkAccessManager::Operation, QNetworkRequest const&, QIODevice*) + 1800
11  QtNetwork                                0x111a966ce QNetworkAccessManager::get(QNetworkRequest const&) + 30
12  Spriter                                  0x104e6b6fd SpriterWindow::checkForAnyUpdate(SpriterSettingsDialog*) + 237
13  Spriter                                  0x104e673bf SpriterWindow::SpriterWindow(QString, QStringList, QWidget*) + 9279
14  Spriter                                  0x104e643e3 main + 371
15  Spriter                                  0x104e64264 start + 52

Thread 1:: com.apple.rosetta.exceptionserver
0   runtime                               0x7ff7ffd53414 0x7ff7ffd4f000 + 17428

Thread 2:
0   runtime                               0x7ff7ffd7194c 0x7ff7ffd4f000 + 141644

Thread 3:
0   runtime                               0x7ff7ffd7194c 0x7ff7ffd4f000 + 141644

Thread 4:
0   runtime                               0x7ff7ffd7194c 0x7ff7ffd4f000 + 141644

Thread 5:: Qt bearer thread
0   ???                                   0x7ff897d8aa78 ???
1   libsystem_kernel.dylib                0x7ff807aa0e8e __pselect + 10
2   libsystem_kernel.dylib                0x7ff807aa2383 pselect$1050 + 89
3   QtCore                                   0x111277398 qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) + 104
4   QtCore                                   0x111278450 QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) + 672
5   QtCore                                   0x11127951a QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 234
6   QtCore                                   0x11122607d QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381
7   QtCore                                   0x11107a245 QThread::exec() + 117
8   QtCore                                   0x11107dd93 0x111046000 + 228755
9   libsystem_pthread.dylib               0x7ff807adc18b _pthread_start + 99
10  libsystem_pthread.dylib               0x7ff807ad7ae3 thread_start + 15

Thread 6:
0   runtime                               0x7ff7ffd7194c 0x7ff7ffd4f000 + 141644

Thread 7:
0   runtime                               0x7ff7ffd7194c 0x7ff7ffd4f000 + 141644

Thread 8:
0   runtime                               0x7ff7ffd7194c 0x7ff7ffd4f000 + 141644

Thread 9:: QScanThread
0   ???                                   0x7ff897d8aa78 ???
1   libsystem_kernel.dylib                0x7ff807a9c002 semaphore_timedwait_trap + 10
2   libdispatch.dylib                     0x7ff80793b30d _dispatch_sema4_timedwait + 73
3   libdispatch.dylib                     0x7ff80793b759 _dispatch_semaphore_wait_slow + 58
4   CoreWLAN                              0x7ff814442392 -[CWInterface(Private) scanForNetworksWithChannels:ssidList:legacyScanSSID:includeHiddenNetworks:mergedScanResults:maxAge:maxMissCount:maxWakeCount:maxAutoJoinCount:waitForWiFi:waitForBluetooth:priority:error:] + 624
5   CoreWLAN                              0x7ff81443c81c -[CWInterface scanForNetworksWithName:includeHidden:error:] + 87
6   libqcorewlanbearer.dylib                 0x1137038ba 0x1136fe000 + 22714
7   QtCore                                   0x11107dd93 0x111046000 + 228755
8   libsystem_pthread.dylib               0x7ff807adc18b _pthread_start + 99
9   libsystem_pthread.dylib               0x7ff807ad7ae3 thread_start + 15

Thread 10:: JavaScriptCore::BlockFree
0   ???                                   0x7ff897d8aa78 ???
1   libsystem_kernel.dylib                0x7ff807a9ec1a __psynch_cvwait + 10
2   libsystem_pthread.dylib               0x7ff807adc6f3 _pthread_cond_wait + 1211
3   QtWebKit                                 0x114b61667 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 119
4   QtWebKit                                 0x114871085 0x113741000 + 18022533
5   QtWebKit                                 0x114b6076f 0x113741000 + 21100399
6   libsystem_pthread.dylib               0x7ff807adc18b _pthread_start + 99
7   libsystem_pthread.dylib               0x7ff807ad7ae3 thread_start + 15
 

Link to comment
Share on other sites

I just took a harder look at that stack trace and realised that it is crashing when trying to connect to an update server when checking for updates.

So I took a look at the defaults for the app and found:

    updateCheckSettings = 2;

Changing this to zero with:

defaults write com.brashmonkey.Spriter updateCheckSettings 0

now allows the app to start.  It started with a panel asking me to choose when to check for updates, but I just confirmed via that that I didn't want it to.

And now the app starts cleanly.  Happy me!

Oh, looking at the value in the defaults after setting it explicitly within the app itself I now see it is:

    updateCheckSettings = 3;

so I would modify the above command to:

defaults write com.brashmonkey.Spriter updateCheckSettings 3

to save time.

 

Edited by Pak Protector
improved solution.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...