Orama-Interactive / Pixelorama

Unleash your creativity with Pixelorama, a powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animations, or just express yourself in the language of pixel art, this software will realize your pixel-perfect dreams with a vast toolbox of features. Available on Windows, Linux, macOS and the Web!
https://orama-interactive.itch.io/pixelorama
MIT License
7.17k stars 383 forks source link

Mac M1: resizing window by dragging corner causes crash #790

Closed zellyn closed 2 weeks ago

zellyn commented 1 year ago

Pixelorama version: 0.10.3. Tried both .dmg and homebrew versions.

OS/device including version: Apple M1 Max

Issue description: Resized window by dragging a corner. App crashed.

Steps to reproduce: Open Pixelorama. Try to drag a corner of the window. If you drag very quickly and release your mouse button immediately, it's fine. If you keep dragging, it crashes reliably.

"Report to Apple" details

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

Process:               Pixelorama [35172]
Path:                  /Applications/Pixelorama.app/Contents/MacOS/Pixelorama
Identifier:            com.orama-interactive.pixelorama
Version:               0.10.3 (0.10.3)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2022-12-06 13:39:56.5687 -0500
OS Version:            macOS 13.0.1 (22A400)
Report Version:        12
Anonymous UUID:        CABB5D53-D7C7-30E9-CA4E-BC0BB33F4ADD

Sleep/Wake UUID:       804FCF99-B1E3-4A8C-A9D3-88553DC61673

Time Awake Since Boot: 210000 seconds
Time Since Wake:       13974 seconds

System Integrity Protection: enabled

Crashed Thread:        7

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000640570cf4420
Exception Codes:       0x0000000000000001, 0x0000640570cf4420

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

VM Region Info: 0x640570cf4420 is not in any region.  Bytes after previous region: 4420877108257  
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      MALLOC_NANO (reserved)   600018000000-600020000000 [128.0M] rw-/rwx SM=NUL  ...(unallocated)
--->  
      UNUSED SPACE AT END

Thread 0::  Dispatch queue: com.apple.main-thread
0   AppKit                                 0x1a3690130 +[NSCursor _windowResizeNorthWestSouthEastCursor] + 0
1   AppKit                                 0x1a3506d7c -[NSWindow(NSWindowResizing) _cursorForResizeDirection:] + 632
2   AppKit                                 0x1a368fa0c -[NSWindow(NSWindowResizing) _resizeWithEvent:] + 1696
3   AppKit                                 0x1a35afef4 -[NSTitledFrame attemptResizeWithEvent:] + 156
4   AppKit                                 0x1a35afce8 -[NSThemeFrame handleMouseDown:] + 200
5   AppKit                                 0x1a3623cc4 -[NSThemeFrame mouseDown:] + 32
6   AppKit                                 0x1a354fce0 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 3420
7   AppKit                                 0x1a34d98f0 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 1984
8   AppKit                                 0x1a34d8f5c -[NSWindow(NSEventRouting) sendEvent:] + 284
9   AppKit                                 0x1a34d8094 -[NSApplication(NSEvent) sendEvent:] + 1920
10  Pixelorama                             0x1003a6b44 0x1003a4000 + 11076

Thread 1:
0   libsystem_pthread.dylib                0x1a0070e18 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib                0x1a0070e18 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib                0x1a0070e18 start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib                0x1a0070e18 start_wqthread + 0

Thread 5:
0   libsystem_kernel.dylib                 0x1a003a5e4 __psynch_cvwait + 8
1   libsystem_pthread.dylib                0x1a0076638 _pthread_cond_wait + 1232
2   libc++.1.dylib                         0x19ffc3ac4 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3   Pixelorama                             0x101b1d684 _IP_ResolverPrivate::_thread_function(void*) + 156
4   libsystem_pthread.dylib                0x1a0070e2c thread_start + 8

Thread 6:
0   libsystem_kernel.dylib                 0x1a003a5e4 __psynch_cvwait + 8
1   libsystem_pthread.dylib                0x1a0076638 _pthread_cond_wait + 1232
2   libc++.1.dylib                         0x19ffc3ac4 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3   Pixelorama                             0x1016e0410 0x1003a4000 + 20169744
4   libsystem_pthread.dylib                0x1a0070e2c thread_start + 8

Thread 7 Crashed:
0   libobjc.A.dylib                        0x19fd09820 objc_msgSend + 32
1   AppleMetalOpenGLRenderer               0x111a61788 GLDTextureRec::getTextureResource(unsigned int, bool) + 352
2   AppleMetalOpenGLRenderer               0x111a6ad7c GLDContextRec::addRenderPassResources() + 64
3   AppleMetalOpenGLRenderer               0x111a6b030 GLDContextRec::beginRenderPass() + 552
4   AppleMetalOpenGLRenderer               0x111a8165c gldRenderVertexArray(GLDContextRec*, unsigned int, unsigned int, int, int, unsigned int, void const*, int, void const*) + 496
5   GLEngine                               0x1ee689254 glDrawArrays_ACC_Exec + 400
6   Pixelorama                             0x1009ff164 0x1003a4000 + 6664548
7   libsystem_pthread.dylib                0x1a0070e2c thread_start + 8

Thread 8:
0   libsystem_pthread.dylib                0x1a0070e18 start_wqthread + 0

Thread 9:: caulk.messenger.shared:17
0   libsystem_kernel.dylib                 0x1a0036d6c semaphore_wait_trap + 8
1   caulk                                  0x1a94eecfc caulk::mach::semaphore::wait_or_error() + 28
2   caulk                                  0x1a94d1634 caulk::concurrent::details::worker_thread::run() + 56
3   caulk                                  0x1a94d1278 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 96
4   libsystem_pthread.dylib                0x1a007606c _pthread_start + 148
5   libsystem_pthread.dylib                0x1a0070e2c thread_start + 8

Thread 10:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib                 0x1a0036df0 mach_msg2_trap + 8
1   libsystem_kernel.dylib                 0x1a00488d8 mach_msg2_internal + 80
2   libsystem_kernel.dylib                 0x1a003f638 mach_msg_overwrite + 540
3   libsystem_kernel.dylib                 0x1a003716c mach_msg + 24
4   CoreAudio                              0x1a246f1bc HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 104
5   CoreAudio                              0x1a2348688 HALC_ProxyIOContext::IOWorkLoop() + 3316
6   CoreAudio                              0x1a234738c invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 100
7   CoreAudio                              0x1a24c937c HALB_IOThread::Entry(void*) + 88
8   libsystem_pthread.dylib                0x1a007606c _pthread_start + 148
9   libsystem_pthread.dylib                0x1a0070e2c thread_start + 8

Thread 11:: com.apple.NSEventThread
0   libsystem_kernel.dylib                 0x1a0036df0 mach_msg2_trap + 8
1   libsystem_kernel.dylib                 0x1a00488d8 mach_msg2_internal + 80
2   libsystem_kernel.dylib                 0x1a003f638 mach_msg_overwrite + 540
3   libsystem_kernel.dylib                 0x1a003716c mach_msg + 24
4   CoreFoundation                         0x1a0155bdc __CFRunLoopServiceMachPort + 160
5   CoreFoundation                         0x1a01544c8 __CFRunLoopRun + 1232
6   CoreFoundation                         0x1a01538a4 CFRunLoopRunSpecific + 612
7   AppKit                                 0x1a34d6248 _NSEventThread + 172
8   libsystem_pthread.dylib                0x1a007606c _pthread_start + 148
9   libsystem_pthread.dylib                0x1a0070e2c thread_start + 8

Thread 12:
0   libsystem_pthread.dylib                0x1a0070e18 start_wqthread + 0

Thread 7 crashed with ARM Thread State (64-bit):
    x0: 0x0000600001604410   x1: 0x00000001f04f9888   x2: 0x0000000000000102   x3: 0x0000000000000000
    x4: 0x0000000000000004   x5: 0x0000000000003960   x6: 0x0000600002d5f960   x7: 0x0000000000000228
    x8: 0x0000000111aa4a18   x9: 0x0000000111aa49f0  x10: 0x6ae1600001604410  x11: 0x0000000000000002
   x12: 0x0000000000000001  x13: 0x00000000000004d1  x14: 0x0000640570cf4410  x15: 0x0000640570cf4410
   x16: 0x0000640570cf4410  x17: 0x0000000111aac308  x18: 0x0000000000000000  x19: 0x0000000000000000
   x20: 0x000060000185b480  x21: 0x000000013604c120  x22: 0x000000000000000d  x23: 0x000000013604c15c
   x24: 0x00000001380c2a68  x25: 0x0000000138022280  x26: 0x0000000136894600  x27: 0x0000000000000000
   x28: 0x0000000000000000   fp: 0x000000016feb6630   lr: 0x0000000111a61788
    sp: 0x000000016feb65f0   pc: 0x000000019fd09820 cpsr: 0x20001000
   far: 0x0000640570cf4420  esr: 0x92000005 (Data Abort) byte read Translation fault

Binary Images:
       0x1a3373000 -        0x1a427afff com.apple.AppKit (6.9) <af9f6891-70ad-3c26-af08-b747344892d2> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
       0x1003a4000 -        0x102367fff com.orama-interactive.pixelorama (0.10.3) <77a15280-6e42-3897-a1cc-5934e7abbef4> /Applications/Pixelorama.app/Contents/MacOS/Pixelorama
       0x1a006f000 -        0x1a007bffb libsystem_pthread.dylib (*) <886caca0-5762-3640-8db2-3fa3b911c062> /usr/lib/system/libsystem_pthread.dylib
       0x1a0036000 -        0x1a006effb libsystem_kernel.dylib (*) <6d6644d3-3db3-34c4-b1e3-c675ec5360f0> /usr/lib/system/libsystem_kernel.dylib
       0x19ffb7000 -        0x1a001dff3 libc++.1.dylib (*) <ae8ea4b2-b8fd-33e3-a0af-0b7485ab97c0> /usr/lib/libc++.1.dylib
       0x19fd00000 -        0x19fd45d9f libobjc.A.dylib (*) <e20fe24e-bbda-3944-9cfc-8e43a463400b> /usr/lib/libobjc.A.dylib
       0x111a40000 -        0x111aabfff com.apple.AppleMetalOpenGLRenderer (1.0) <04c45855-3ade-3d14-941f-60c2e52b6d6f> /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle/Contents/MacOS/AppleMetalOpenGLRenderer
       0x1ee5c2000 -        0x1ee72fff7 GLEngine (*) <38e39114-7bb1-351c-9ffe-a57f17c10fe9> /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLEngine.bundle/GLEngine
       0x1a94cf000 -        0x1a94f8fff com.apple.audio.caulk (1.0) <445d1341-52c5-3468-ba85-f01410317744> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
       0x1a216e000 -        0x1a284dfff com.apple.audio.CoreAudio (5.0) <ad0eb60a-ba0d-3e1d-9a5b-ddc59e71d77d> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
       0x1a00d4000 -        0x1a05abfff com.apple.CoreFoundation (6.9) <f4ff83fc-e62c-30b4-b3a9-876c8a1fd595> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)
Writable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               640K        5 
Activity Tracing                   256K        1 
CG backing stores                 5376K        8 
CG image                          1248K       10 
ColorSync                          560K       25 
CoreAnimation                      128K        8 
CoreGraphics                        48K        3 
CoreUI image data                  448K        6 
Foundation                          16K        1 
Foundation (reserved)               16K        1         reserved VM address space (unallocated)
Image IO                          1024K        1 
Kernel Alloc Once                   32K        1 
MALLOC                           360.5M       74 
MALLOC guard page                  192K        9 
MALLOC_MEDIUM (reserved)         928.0M        8         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
OpenGL GLSL                        256K        3 
STACK GUARD                       56.2M       13 
Stack                             14.4M       13 
VM_ALLOCATE                       11.8M      318 
__AUTH                             696K      183 
__AUTH_CONST                      12.7M      349 
__CTF                               756        1 
__DATA                            3192K      341 
__DATA_CONST                      16.3M      357 
__DATA_DIRTY                       802K      118 
__FONT_DATA                        2352        1 
__GLSLBUILTINS                    5174K        1 
__LINKEDIT                       764.9M        9 
__OBJC_CONST                      1561K      158 
__OBJC_RO                         65.1M        1 
__OBJC_RW                         1981K        1 
__TEXT                           282.6M      373 
dyld private memory                256K        1 
mapped file                       81.0M       28 
shared memory                     1424K       16 
===========                     =======  ======= 
TOTAL                              2.9G     2447 
TOTAL, minus reserved VM space     1.7G     2447 

-----------
Full Report
-----------

{"app_name":"Pixelorama","timestamp":"2022-12-06 13:39:56.00 -0500","app_version":"0.10.3","slice_uuid":"77a15280-6e42-3897-a1cc-5934e7abbef4","build_version":"0.10.3","platform":1,"bundleID":"com.orama-interactive.pixelorama","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.0.1 (22A400)","roots_installed":0,"name":"Pixelorama","incident_id":"AB2EBAD9-A3BA-4C8E-A9FE-C21FDCC04BBF"}
{
  "uptime" : 210000,
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro18,2",
  "coalitionID" : 85135,
  "osVersion" : {
    "train" : "macOS 13.0.1",
    "build" : "22A400",
    "releaseType" : "User"
  },
  "captureTime" : "2022-12-06 13:39:56.5687 -0500",
  "incident" : "AB2EBAD9-A3BA-4C8E-A9FE-C21FDCC04BBF",
  "pid" : 35172,
  "translated" : false,
  "cpuType" : "ARM-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2022-12-06 13:39:44.8269 -0500",
  "procStartAbsTime" : 5256007262364,
  "procExitAbsTime" : 5256287782903,
  "procName" : "Pixelorama",
  "procPath" : "\/Applications\/Pixelorama.app\/Contents\/MacOS\/Pixelorama",
  "bundleInfo" : {"CFBundleShortVersionString":"0.10.3","CFBundleVersion":"0.10.3","CFBundleIdentifier":"com.orama-interactive.pixelorama"},
  "storeInfo" : {"deviceIdentifierForVendor":"5452D05D-DAFA-5EB6-AD20-83A01D98285A","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.orama-interactive.pixelorama",
  "crashReporterKey" : "CABB5D53-D7C7-30E9-CA4E-BC0BB33F4ADD",
  "wakeTime" : 13974,
  "sleepWakeUUID" : "804FCF99-B1E3-4A8C-A9D3-88553DC61673",
  "sip" : "enabled",
  "vmRegionInfo" : "0x640570cf4420 is not in any region.  Bytes after previous region: 4420877108257  \n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      MALLOC_NANO (reserved)   600018000000-600020000000 [128.0M] rw-\/rwx SM=NUL  ...(unallocated)\n--->  \n      UNUSED SPACE AT END",
  "exception" : {"codes":"0x0000000000000001, 0x0000640570cf4420","rawCodes":[1,109974530245664],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x0000640570cf4420"},
  "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":35172},
  "vmregioninfo" : "0x640570cf4420 is not in any region.  Bytes after previous region: 4420877108257  \n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      MALLOC_NANO (reserved)   600018000000-600020000000 [128.0M] rw-\/rwx SM=NUL  ...(unallocated)\n--->  \n      UNUSED SPACE AT END",
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 7,
  "threads" : [{"id":4112649,"queue":"com.apple.main-thread","frames":[{"imageOffset":3264816,"symbol":"+[NSCursor _windowResizeNorthWestSouthEastCursor]","symbolLocation":0,"imageIndex":0},{"imageOffset":1654140,"symbol":"-[NSWindow(NSWindowResizing) _cursorForResizeDirection:]","symbolLocation":632,"imageIndex":0},{"imageOffset":3262988,"symbol":"-[NSWindow(NSWindowResizing) _resizeWithEvent:]","symbolLocation":1696,"imageIndex":0},{"imageOffset":2346740,"symbol":"-[NSTitledFrame attemptResizeWithEvent:]","symbolLocation":156,"imageIndex":0},{"imageOffset":2346216,"symbol":"-[NSThemeFrame handleMouseDown:]","symbolLocation":200,"imageIndex":0},{"imageOffset":2821316,"symbol":"-[NSThemeFrame mouseDown:]","symbolLocation":32,"imageIndex":0},{"imageOffset":1952992,"symbol":"-[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:]","symbolLocation":3420,"imageIndex":0},{"imageOffset":1468656,"symbol":"-[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:]","symbolLocation":1984,"imageIndex":0},{"imageOffset":1466204,"symbol":"-[NSWindow(NSEventRouting) sendEvent:]","symbolLocation":284,"imageIndex":0},{"imageOffset":1462420,"symbol":"-[NSApplication(NSEvent) sendEvent:]","symbolLocation":1920,"imageIndex":0},{"imageOffset":11076,"imageIndex":1}]},{"id":4112673,"frames":[{"imageOffset":7704,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":2}]},{"id":4112674,"frames":[{"imageOffset":7704,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":2}]},{"id":4112679,"frames":[{"imageOffset":7704,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":2}]},{"id":4112680,"frames":[{"imageOffset":7704,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":2}]},{"id":4112695,"frames":[{"imageOffset":17892,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":3},{"imageOffset":30264,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":2},{"imageOffset":51908,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":4},{"imageOffset":24614532,"symbol":"_IP_ResolverPrivate::_thread_function(void*)","symbolLocation":156,"imageIndex":1},{"imageOffset":7724,"symbol":"thread_start","symbolLocation":8,"imageIndex":2}]},{"id":4112697,"frames":[{"imageOffset":17892,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":3},{"imageOffset":30264,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":2},{"imageOffset":51908,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":4},{"imageOffset":20169744,"imageIndex":1},{"imageOffset":7724,"symbol":"thread_start","symbolLocation":8,"imageIndex":2}]},{"triggered":true,"id":4112698,"threadState":{"x":[{"value":105553139352592},{"value":8326715528,"objc-selector":"sampleCount"},{"value":258},{"value":0},{"value":4},{"value":14688},{"value":105553163843936},{"value":552},{"value":4591340056,"symbolLocation":27216,"symbol":"glrPixelFormatToCompatibleSamplerTypeTable"},{"value":4591340016,"symbolLocation":27176,"symbol":"glrPixelFormatToCompatibleSamplerTypeTable"},{"value":7701542390919611408},{"value":2},{"value":1},{"value":1233},{"value":109974530245648},{"value":109974530245648},{"value":109974530245648},{"value":4591371016},{"value":0},{"value":0},{"value":105553141806208},{"value":5201248544},{"value":13},{"value":5201248604},{"value":5235288680},{"value":5234631296},{"value":5209933312},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4591064968},"cpsr":{"value":536875008},"fp":{"value":6172665392},"sp":{"value":6172665328},"esr":{"value":2449473541,"description":"(Data Abort) byte read Translation fault"},"pc":{"value":6976215072,"matchesCrashFrame":1},"far":{"value":109974530245664}},"frames":[{"imageOffset":38944,"symbol":"objc_msgSend","symbolLocation":32,"imageIndex":5},{"imageOffset":137096,"symbol":"GLDTextureRec::getTextureResource(unsigned int, bool)","symbolLocation":352,"imageIndex":6},{"imageOffset":175484,"symbol":"GLDContextRec::addRenderPassResources()","symbolLocation":64,"imageIndex":6},{"imageOffset":176176,"symbol":"GLDContextRec::beginRenderPass()","symbolLocation":552,"imageIndex":6},{"imageOffset":267868,"symbol":"gldRenderVertexArray(GLDContextRec*, unsigned int, unsigned int, int, int, unsigned int, void const*, int, void const*)","symbolLocation":496,"imageIndex":6},{"imageOffset":815700,"symbol":"glDrawArrays_ACC_Exec","symbolLocation":400,"imageIndex":7},{"imageOffset":6664548,"imageIndex":1},{"imageOffset":7724,"symbol":"thread_start","symbolLocation":8,"imageIndex":2}]},{"id":4112699,"frames":[{"imageOffset":7704,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":2}]},{"id":4112700,"name":"caulk.messenger.shared:17","frames":[{"imageOffset":3436,"symbol":"semaphore_wait_trap","symbolLocation":8,"imageIndex":3},{"imageOffset":130300,"symbol":"caulk::mach::semaphore::wait_or_error()","symbolLocation":28,"imageIndex":8},{"imageOffset":9780,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":56,"imageIndex":8},{"imageOffset":8824,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*)","symbolLocation":96,"imageIndex":8},{"imageOffset":28780,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":2},{"imageOffset":7724,"symbol":"thread_start","symbolLocation":8,"imageIndex":2}]},{"id":4112729,"name":"com.apple.audio.IOThread.client","frames":[{"imageOffset":3568,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":3},{"imageOffset":75992,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":3},{"imageOffset":38456,"symbol":"mach_msg_overwrite","symbolLocation":540,"imageIndex":3},{"imageOffset":4460,"symbol":"mach_msg","symbolLocation":24,"imageIndex":3},{"imageOffset":3150268,"symbol":"HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int)","symbolLocation":104,"imageIndex":9},{"imageOffset":1943176,"symbol":"HALC_ProxyIOContext::IOWorkLoop()","symbolLocation":3316,"imageIndex":9},{"imageOffset":1938316,"symbol":"invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int)","symbolLocation":100,"imageIndex":9},{"imageOffset":3519356,"symbol":"HALB_IOThread::Entry(void*)","symbolLocation":88,"imageIndex":9},{"imageOffset":28780,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":2},{"imageOffset":7724,"symbol":"thread_start","symbolLocation":8,"imageIndex":2}]},{"id":4112799,"name":"com.apple.NSEventThread","frames":[{"imageOffset":3568,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":3},{"imageOffset":75992,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":3},{"imageOffset":38456,"symbol":"mach_msg_overwrite","symbolLocation":540,"imageIndex":3},{"imageOffset":4460,"symbol":"mach_msg","symbolLocation":24,"imageIndex":3},{"imageOffset":531420,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":10},{"imageOffset":525512,"symbol":"__CFRunLoopRun","symbolLocation":1232,"imageIndex":10},{"imageOffset":522404,"symbol":"CFRunLoopRunSpecific","symbolLocation":612,"imageIndex":10},{"imageOffset":1454664,"symbol":"_NSEventThread","symbolLocation":172,"imageIndex":0},{"imageOffset":28780,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":2},{"imageOffset":7724,"symbol":"thread_start","symbolLocation":8,"imageIndex":2}]},{"id":4112818,"frames":[{"imageOffset":7704,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":2}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7033270272,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.AppKit",
    "size" : 15761408,
    "uuid" : "af9f6891-70ad-3c26-af08-b747344892d2",
    "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit",
    "name" : "AppKit",
    "CFBundleVersion" : "2299"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4298784768,
    "CFBundleShortVersionString" : "0.10.3",
    "CFBundleIdentifier" : "com.orama-interactive.pixelorama",
    "size" : 33308672,
    "uuid" : "77a15280-6e42-3897-a1cc-5934e7abbef4",
    "path" : "\/Applications\/Pixelorama.app\/Contents\/MacOS\/Pixelorama",
    "name" : "Pixelorama",
    "CFBundleVersion" : "0.10.3"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6979776512,
    "size" : 53244,
    "uuid" : "886caca0-5762-3640-8db2-3fa3b911c062",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6979543040,
    "size" : 233468,
    "uuid" : "6d6644d3-3db3-34c4-b1e3-c675ec5360f0",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6979022848,
    "size" : 421876,
    "uuid" : "ae8ea4b2-b8fd-33e3-a0af-0b7485ab97c0",
    "path" : "\/usr\/lib\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6976176128,
    "size" : 286112,
    "uuid" : "e20fe24e-bbda-3944-9cfc-8e43a463400b",
    "path" : "\/usr\/lib\/libobjc.A.dylib",
    "name" : "libobjc.A.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4590927872,
    "CFBundleShortVersionString" : "1.0",
    "CFBundleIdentifier" : "com.apple.AppleMetalOpenGLRenderer",
    "size" : 442368,
    "uuid" : "04c45855-3ade-3d14-941f-60c2e52b6d6f",
    "path" : "\/System\/Library\/Extensions\/AppleMetalOpenGLRenderer.bundle\/Contents\/MacOS\/AppleMetalOpenGLRenderer",
    "name" : "AppleMetalOpenGLRenderer",
    "CFBundleVersion" : "1"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 8293982208,
    "size" : 1499128,
    "uuid" : "38e39114-7bb1-351c-9ffe-a57f17c10fe9",
    "path" : "\/System\/Library\/Frameworks\/OpenGL.framework\/Versions\/A\/Resources\/GLEngine.bundle\/GLEngine",
    "name" : "GLEngine"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7135358976,
    "CFBundleShortVersionString" : "1.0",
    "CFBundleIdentifier" : "com.apple.audio.caulk",
    "size" : 172032,
    "uuid" : "445d1341-52c5-3468-ba85-f01410317744",
    "path" : "\/System\/Library\/PrivateFrameworks\/caulk.framework\/Versions\/A\/caulk",
    "name" : "caulk"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7014375424,
    "CFBundleShortVersionString" : "5.0",
    "CFBundleIdentifier" : "com.apple.audio.CoreAudio",
    "size" : 7208960,
    "uuid" : "ad0eb60a-ba0d-3e1d-9a5b-ddc59e71d77d",
    "path" : "\/System\/Library\/Frameworks\/CoreAudio.framework\/Versions\/A\/CoreAudio",
    "name" : "CoreAudio",
    "CFBundleVersion" : "5.0"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6980190208,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.CoreFoundation",
    "size" : 5079040,
    "uuid" : "f4ff83fc-e62c-30b4-b3a9-876c8a1fd595",
    "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
    "name" : "CoreFoundation",
    "CFBundleVersion" : "1953.1"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  }
],
  "sharedCache" : {
  "base" : 6975815680,
  "size" : 3403612160,
  "uuid" : "2d053604-1cb6-3821-a8df-360eb2eb519b"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)\nWritable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nAccelerate framework               640K        5 \nActivity Tracing                   256K        1 \nCG backing stores                 5376K        8 \nCG image                          1248K       10 \nColorSync                          560K       25 \nCoreAnimation                      128K        8 \nCoreGraphics                        48K        3 \nCoreUI image data                  448K        6 \nFoundation                          16K        1 \nFoundation (reserved)               16K        1         reserved VM address space (unallocated)\nImage IO                          1024K        1 \nKernel Alloc Once                   32K        1 \nMALLOC                           360.5M       74 \nMALLOC guard page                  192K        9 \nMALLOC_MEDIUM (reserved)         928.0M        8         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nOpenGL GLSL                        256K        3 \nSTACK GUARD                       56.2M       13 \nStack                             14.4M       13 \nVM_ALLOCATE                       11.8M      318 \n__AUTH                             696K      183 \n__AUTH_CONST                      12.7M      349 \n__CTF                               756        1 \n__DATA                            3192K      341 \n__DATA_CONST                      16.3M      357 \n__DATA_DIRTY                       802K      118 \n__FONT_DATA                        2352        1 \n__GLSLBUILTINS                    5174K        1 \n__LINKEDIT                       764.9M        9 \n__OBJC_CONST                      1561K      158 \n__OBJC_RO                         65.1M        1 \n__OBJC_RW                         1981K        1 \n__TEXT                           282.6M      373 \ndyld private memory                256K        1 \nmapped file                       81.0M       28 \nshared memory                     1424K       16 \n===========                     =======  ======= \nTOTAL                              2.9G     2447 \nTOTAL, minus reserved VM space     1.7G     2447 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "60f8ddccefea4203d95cbeef",
      "factorPackIds" : {

      },
      "deploymentId" : 240000021
    },
    {
      "rolloutId" : "5ffde50ce2aacd000d47a95f",
      "factorPackIds" : {

      },
      "deploymentId" : 240000223
    }
  ],
  "experiments" : [

  ]
}
}

Model: MacBookPro18,2, BootROM 8419.41.10, proc 10:8:2 processors, 64 GB, SMC 
Graphics: Apple M1 Max, Apple M1 Max, Built-In
Display: DELL U3415W, 3440 x 1440 (UWQHD - Ultra-Wide Quad HD), Main, MirrorOff, Online
Display: Color LCD, 3456 x 2234 Retina, MirrorOff, Online
Memory Module: LPDDR5, Hynix
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4387), wl0: Sep  3 2022 02:35:52 version 20.10.965.9.8.7.129 FWID 01-b0e84a9b
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Network Service: Tailscale Tunnel, VPN (io.tailscale.ipn.macos), utun3
USB Device: USB31Bus
USB Device: Opal C1
USB Device: USB31Bus
USB Device: USB3.0 Hub
USB Device: USB 10/100/1000 LAN
USB Device: USB2.0 Hub
USB Device: Anker USB-C Hub Device
USB Device: USB31Bus
USB Device: Yubikey 4 U2F+CCID
Thunderbolt Bus: Laptop, Apple Inc.
Thunderbolt Bus: Laptop, Apple Inc.
Thunderbolt Bus: Laptop, Apple Inc.
kalenpw commented 1 year ago

Confirmed on M1 Air, macOS 13.2.1 Pixelorama v0.10.3

Looks to be caused by this (54519), if I disable multithreading it can be resized fine.

azkvri commented 1 year ago

I can confirm this also on M1 pro

Process: Pixelorama [80759] Path: /Applications/Pixelorama.app/Contents/MacOS/Pixelorama Identifier: com.orama-interactive.pixelorama Version: 0.10.3 (0.10.3) Code Type: ARM-64 (Native) Parent Process: launchd [1] User ID: 501

Date/Time: 2023-04-15 01:44:21.1777 -0700 OS Version: macOS 13.3.1 (22E261) Report Version: 12 Anonymous UUID: 146874A7-4833-7151-D6B9-118E053B09DA

OverloadedOrama commented 1 year ago

Confirmed on M1 Air, macOS 13.2.1 Pixelorama v0.10.3

Looks to be caused by this (54519), if I disable multithreading it can be resized fine.

Are you certain that this is the cause? It looks like that issue has been solved since November 2021, before Godot 3.5 was released. Pixelorama v0.10.3 is using Godot 3.5, so that issue should, in theory, not occur. Unfortunately, I do not own a Mac device to test it.

kalenpw commented 1 year ago

Not certain it is 54519, but it seems likely (I did see the issue was resolved and wasn't sure if it was a regression or perhaps still possible to trigger).

To test I downloaded Godot 3.5.2 and cloned the current Pixelorama master branch.

100% of the time I could reproduce crashing on resizing with click and drag corners (resizing with keyboard shortcuts does not seem to crash).

After setting Project Settings > Rendering > Threads > Thread Model > [Single-UnSafe, Single-Safe, Multi-Threaded] on both Single-Unsafe and Single-Safe it never crashed.

I'm somewhat of a Godot noob, but happy to test anything on an M1 and let you know the result. When it crashes there are no errors in the Godot editor, it is just caught by Mac's crash reporting system (which creates @zellyn's original post).

OverloadedOrama commented 1 year ago

Hmm, it could be a Godot regression then. Can you test if the issue occurs with the GLES3 renderer? The next version of Pixelorama (current master branch) will let users change the renderer from the preferences, so if the crash doesn't happen with GLES3, it could be a nice workaround. Alternatively we could use single-threaded mode, but I'm not sure if it would work with gif exporting, which uses multi-threading.

kalenpw commented 1 year ago

Same result regardless of GLES2/GLES3 (ie. 100% crashes on multi threaded, never crashes on single)

fantomac commented 1 year ago

Hi, same for me with Mac M1 Ultra. Ventura 13.3.1

As @kalenpw said " After setting Project Settings > Rendering > Threads > Thread Model > [Single-UnSafe, Single-Safe, Multi-Threaded] on both Single-Unsafe and Single-Safe"

👉 it never crashed.

Calinou commented 1 year ago

You can run the app using --render-thread safe (this is a Godot CLI argument). This allows you to override the thread model without having to import the project in the Godot editor and run it from there.

Alternatively we could use single-threaded mode, but I'm not sure if it would work with gif exporting, which uses multi-threading.

I'm surprised the GIF exporter would need that. This project setting only affects how rendering is performed with regards to CPU work, not whether you can use the Thread class in the project.

iceprosurface commented 6 months ago

We can use apple script to create an app.

image

Then use following script, and save as app:

image
do shell script "open -a '/Applications/Pixelorama.app/Contents/MacOS/Pixelorama' --args --render-thread safe"

It seems work perfect.

OverloadedOrama commented 3 months ago

Does this still occur with version 1.0?

michaelwheeler commented 3 months ago

Does this still occur with version 1.0?

FWIW I am no longer encountering this issue with 1.0.