TableList causes Unity to crash unless inspector is sized well.

Issue #645 new
Ryan Murphy created an issue

Unity: 2019.3.5.f1

Odin: 2.1.9.0

EditorOnlyMode is not enabled.

OSX 10.15.3

TableList consistently crash at some specific inspector. This object displayed as a TableList consistently crashes at small inspector sizes.

    public class WeaponLevelCosts
    {
        public static string[] MaterialRarities = new string[] {"", "uncommon", "rare", "epic", "legendary"};

        public int level;
        public int goldCost;
        public int cardCost;
        [ValueDropdown("MaterialRarities")]
        public string materialRarity = "";
        public int materialCost;
        public int xpReward;
    }

    [TabGroup("Weapon Level"), TableList(AlwaysExpanded = true), ListDrawerSettings(AddCopiesLastElement = true), InfoBox("Cost in gold and materials to go to the specified level")]
    public List<WeaponLevelCosts> weaponLevel = new List<WeaponLevelCosts>();

Removing the TableList attribute resolves the crash. This is not the only TableList that causes the crash, several of my TableLists do this. This is across several versions of Unity.

Process:               Unity [75553]
Path:                  /Applications/Unity/*/Unity.app/Contents/MacOS/Unity
Identifier:            com.unity3d.UnityEditor5.x
Version:               Unity version 2019.3.5f1 (2019.3.5f1)
Code Type:             X86-64 (Native)
Parent Process:        Unity Hub [1920]
Responsible:           Unity Hub [1920]
User ID:               501

Date/Time:             2020-03-19 09:20:47.578 -0700
OS Version:            Mac OS X 10.15 (19A583)
Report Version:        12
Bridge OS Version:     4.0 (17P572)
Anonymous UUID:        BECE6A0C-83F6-6216-EFAB-28A49C4ED90E

Sleep/Wake UUID:       F11E7011-D958-4494-B656-3982B3FAAB98

Time Awake Since Boot: 190000 seconds
Time Since Wake:       570 seconds

System Integrity Protection: enabled

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

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
assertion failure: "_needsGeometryInWindowDidChangeNotificationCount < (1 << 8) - 1" -> %lld
ˇˇˇˇˇˇˇˇ

Thread 0 Crashed:: Main Thread  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff7428347a __pthread_kill + 10
1   libsystem_pthread.dylib         0x00007fff74340707 pthread_kill + 384
2   libsystem_c.dylib               0x00007fff7420ba08 abort + 120
3   com.unity3d.UnityEditor5.x      0x000000010467a74e HandleSignal(int, __siginfo*, void*) + 62
4   libmonobdwgc-2.0.dylib          0x000000016607a269 mono_chain_signal + 79
5   libmonobdwgc-2.0.dylib          0x000000016607a5ac sigabrt_signal_handler + 86
6   libsystem_platform.dylib        0x00007fff74335b1d _sigtramp + 29
7   ???                             0x0000000000000004 0 + 4
8   libsystem_kernel.dylib          0x00007fff7429e521 abort_with_payload + 9
9   libsystem_c.dylib               0x00007fff7420aa07 _os_crash_fmt.cold.1 + 55
10  libsystem_c.dylib               0x00007fff7419d866 _os_crash_fmt + 154
11  com.apple.AppKit                0x00007fff3a0a312f -[NSView(NSInternal) enableGeometryInWindowDidChangeNotification] + 216
12  com.apple.AppKit                0x00007fff3a25553f -[NSWindow(NSCursorRects) _addCursorRect:cursor:forView:] + 962
13  com.apple.AppKit                0x00007fff3a254d6a -[NSView addCursorRect:cursor:] + 607
14  com.unity3d.UnityEditor5.x      0x00000001057fdc9e -[GUIRenderView resetCursorRects] + 318
15  com.apple.AppKit                0x00007fff3a159a69 -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 677
16  com.apple.AppKit                0x00007fff3a15a058 -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2196
17  com.apple.AppKit                0x00007fff3a15a058 -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2196
18  com.apple.AppKit                0x00007fff3a15954b _NSWindowDisplayCycleUpdateStructuralRegions + 319
19  com.apple.AppKit                0x00007fff3a15702f __NSWindowGetDisplayCycleObserverForUpdateStructuralRegions_block_invoke + 420
20  com.apple.AppKit                0x00007fff3a143f3a NSDisplayCycleObserverInvoke + 155
21  com.apple.AppKit                0x00007fff3a143b01 NSDisplayCycleFlush + 977
22  com.apple.QuartzCore            0x00007fff486373d6 CA::Transaction::run_commit_handlers(CATransactionPhase) + 100
23  com.apple.QuartzCore            0x00007fff48636d28 CA::Transaction::commit() + 224
24  com.apple.AppKit                0x00007fff3a916e2a __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 266
25  com.apple.AppKit                0x00007fff3a917252 ___NSRunLoopObserverCreateWithHandler_block_invoke + 41
26  com.apple.CoreFoundation        0x00007fff3ce924be __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
27  com.apple.CoreFoundation        0x00007fff3ce923e4 __CFRunLoopDoObservers + 457
28  com.apple.CoreFoundation        0x00007fff3ce3555b __CFRunLoopRun + 1219
29  com.apple.CoreFoundation        0x00007fff3ce34e13 CFRunLoopRunSpecific + 499
30  com.apple.HIToolbox             0x00007fff3b9c1b2d RunCurrentEventLoopInMode + 292
31  com.apple.HIToolbox             0x00007fff3b9c186d ReceiveNextEventCommon + 600
32  com.apple.HIToolbox             0x00007fff3b9c15f7 _BlockUntilNextEventMatchingListInModeWithFilter + 64
33  com.apple.AppKit                0x00007fff3a057ac4 _DPSNextEvent + 990
34  com.apple.AppKit                0x00007fff3a056834 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
35  com.apple.AppKit                0x00007fff3a050fd4 -[NSApplication run] + 658
36  com.apple.AppKit                0x00007fff3a042e7d NSApplicationMain + 777
37  com.unity3d.UnityEditor5.x      0x00000001057f9adf EditorMain(int, char const**) + 1055
38  com.unity3d.UnityEditor5.x      0x00000001057f9de9 main + 9
39  libdyld.dylib                   0x00007fff74134405 start + 1

Thread 1:: Profiler.Dispatcher
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x00000001012aa870 Semaphore::WaitForSignal(int) + 112
5   com.unity3d.UnityEditor5.x      0x000000010459a053 profiling::Dispatcher::ThreadFunc(void*) + 163
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 2:: CurlRequest
0   libsystem_kernel.dylib          0x00007fff74281012 __semwait_signal + 10
1   libsystem_c.dylib               0x00007fff74204122 nanosleep + 196
2   com.unity3d.UnityEditor5.x      0x00000001045061a2 ThreadHelper::SleepInSeconds(double) + 98
3   com.unity3d.UnityEditor5.x      0x000000010451931d CurrentThread::SleepForSeconds(double) + 221
4   com.unity3d.UnityEditor5.x      0x00000001054ced0d CurlRequest::MessageThread() + 2301
5   com.unity3d.UnityEditor5.x      0x00000001054ce099 CurlRequest::_ThreadEntryPoint(void*) + 9
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 3:: Loading.AsyncRead
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x00000001012aa870 Semaphore::WaitForSignal(int) + 112
5   com.unity3d.UnityEditor5.x      0x0000000103b7037d AsyncReadManagerThreaded::ThreadEntry() + 269
6   com.unity3d.UnityEditor5.x      0x0000000103b6fd19 AsyncReadManagerThreaded::StaticThreadEntry(void*) + 9
7   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
8   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
9   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 4:: Job.Worker 0
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x0000000103edd9ed JobQueue::ProcessJobs(JobQueue::ThreadInfo*, void*) + 173
5   com.unity3d.UnityEditor5.x      0x0000000103edc713 JobQueue::WorkLoop(void*) + 179
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 5:: Job.Worker 1
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x0000000103edd9ed JobQueue::ProcessJobs(JobQueue::ThreadInfo*, void*) + 173
5   com.unity3d.UnityEditor5.x      0x0000000103edc713 JobQueue::WorkLoop(void*) + 179
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 6:: Job.Worker 2
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x0000000103edd9ed JobQueue::ProcessJobs(JobQueue::ThreadInfo*, void*) + 173
5   com.unity3d.UnityEditor5.x      0x0000000103edc713 JobQueue::WorkLoop(void*) + 179
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 7:: Job.Worker 3
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x0000000103edd9ed JobQueue::ProcessJobs(JobQueue::ThreadInfo*, void*) + 173
5   com.unity3d.UnityEditor5.x      0x0000000103edc713 JobQueue::WorkLoop(void*) + 179
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 8:: Job.Worker 4
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x0000000103edd9ed JobQueue::ProcessJobs(JobQueue::ThreadInfo*, void*) + 173
5   com.unity3d.UnityEditor5.x      0x0000000103edc713 JobQueue::WorkLoop(void*) + 179
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125
8   libsystem_pthread.dylib         0x00007fff7433d5d7 thread_start + 15

Thread 9:: Job.Worker 5
0   libsystem_kernel.dylib          0x00007fff7427d182 semaphore_wait_trap + 10
1   libdispatch.dylib               0x00007fff740e496d _dispatch_sema4_wait + 16
2   libdispatch.dylib               0x00007fff740e4e3a _dispatch_semaphore_wait_slow + 98
3   com.unity3d.UnityEditor5.x      0x000000010596e478 UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) + 24
4   com.unity3d.UnityEditor5.x      0x0000000103edd9ed JobQueue::ProcessJobs(JobQueue::ThreadInfo*, void*) + 173
5   com.unity3d.UnityEditor5.x      0x0000000103edc713 JobQueue::WorkLoop(void*) + 179
6   com.unity3d.UnityEditor5.x      0x0000000104505b8c Thread::RunThreadWrapper(void*) + 1228
7   libsystem_pthread.dylib         0x00007fff74340d76 _pthread_start + 125

Comments (0)

  1. Log in to comment