kswaldemar / rewind-viewer

Fast match viewer with rewinding support for Russian AI Cup championship series
MIT License
75 stars 23 forks source link

Одиночный креш во время интенсивного использования #11

Closed Karloid closed 3 years ago

Karloid commented 6 years ago

Один раз повторилось под нагрузкой из нового java клиента macOS

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

Termination Signal:    Abort trap: 6
Termination Reason:    Namespace SIGNAL, Code 0x6
Terminating Process:   rewindviewer [74895]

Thread 0 Crashed:: main thread  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fffdcacc34a mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fffdcacb797 mach_msg + 55
2   com.apple.SkyLight              0x00007fffd8d60b33 _CGSSetNotifications + 129
3   com.apple.SkyLight              0x00007fffd8db82a2 SLPSSetNotifications + 52
4   com.apple.HIToolbox             0x00007fffc6814a55 HIApplication::HandleActivated(OpaqueEventRef*, unsigned char, OpaqueWindowPtr*, unsigned char) + 139
5   com.apple.HIToolbox             0x00007fffc678e8f6 HIApplication::EventObserver(unsigned int, OpaqueEventRef*, void*) + 260
6   com.apple.HIToolbox             0x00007fffc6755369 _NotifyEventLoopObservers + 155
7   com.apple.AppKit                0x00007fffc560fa35 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4267
8   com.apple.AppKit                0x00007fffc560ca6c -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 1942
9   com.apple.AppKit                0x00007fffc560bf0a -[NSWindow(NSEventRouting) sendEvent:] + 541
10  com.apple.AppKit                0x00007fffc5490681 -[NSApplication(NSEvent) sendEvent:] + 1145
11  rewindviewer                    0x000000010143e2d6 -[GLFWApplication sendEvent:] + 166
12  rewindviewer                    0x000000010144031a _glfwPlatformPollEvents + 138
13  rewindviewer                    0x0000000101438f3e glfwPollEvents + 46
14  rewindviewer                    0x00000001013e39f7 prepare_and_run_game_loop(GLFWwindow*) + 1815
15  rewindviewer                    0x00000001013e3072 main + 754
16  libdyld.dylib                   0x00007fffdc9a5235 start + 1

Thread 1:
0   libsystem_kernel.dylib          0x00007fffdcad444e __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fffdcbbe48e _pthread_wqthread + 1023
2   libsystem_pthread.dylib         0x00007fffdcbbe07d start_wqthread + 13

Thread 2:: Dispatch queue: com.apple.root.user-initiated-qos
0   libsystem_kernel.dylib          0x00007fffdcad42d6 __terminate_with_payload + 10
1   libsystem_kernel.dylib          0x00007fffdcacf346 abort_with_payload_wrapper_internal + 122
2   libsystem_kernel.dylib          0x00007fffdcacf2cc abort_with_reason + 22
3   libobjc.A.dylib                 0x00007fffdc0c11b2 _objc_fatalv(unsigned long long, unsigned long long, char const*, __va_list_tag*) + 102
4   libobjc.A.dylib                 0x00007fffdc0c104d _objc_fatal(char const*, ...) + 154
5   libobjc.A.dylib                 0x00007fffdc0cbf8a (anonymous namespace)::AutoreleasePoolPage::busted(bool) + 144
6   libobjc.A.dylib                 0x00007fffdc0b3e8f objc_autoreleasePoolPush + 78
7   libdispatch.dylib               0x00007fffdc971568 _dispatch_root_queue_drain + 143
8   libdispatch.dylib               0x00007fffdc97148c _dispatch_worker_thread3 + 99
9   libsystem_pthread.dylib         0x00007fffdcbbe5a2 _pthread_wqthread + 1299
10  libsystem_pthread.dylib         0x00007fffdcbbe07d start_wqthread + 13

Thread 3:: com.apple.NSEventThread
0   libsystem_kernel.dylib          0x00007fffdcacc34a mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fffdcacb797 mach_msg + 55
2   com.apple.CoreFoundation        0x00007fffc721e434 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation        0x00007fffc721d8c1 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation        0x00007fffc721d114 CFRunLoopRunSpecific + 420
5   com.apple.AppKit                0x00007fffc4e63f02 _NSEventThread + 205
6   libsystem_pthread.dylib         0x00007fffdcbbe93b _pthread_body + 180
7   libsystem_pthread.dylib         0x00007fffdcbbe887 _pthread_start + 286
8   libsystem_pthread.dylib         0x00007fffdcbbe08d thread_start + 13

Thread 4:
0   rewindviewer                    0x00000001013ff6cf void std::__1::__tree_balance_after_insert<std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*, std::__1::__tree_node_base<void*>*) + 591
1   rewindviewer                    0x000000010141fbe2 std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> > > >::__insert_node_at(std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>*, std::__1::__tree_node_base<void*>*&, std::__1::__tree_node_base<void*>*) + 194
2   rewindviewer                    0x000000010141db7d std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> >, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> >, void*>*, long>, bool> std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> > > >::__emplace_unique_key_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::piecewise_construct_t const&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>, std::__1::tuple<> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::piecewise_construct_t const&&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>&&, std::__1::tuple<>&&) + 285
3   rewindviewer                    0x000000010141d4a6 std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 278
4   rewindviewer                    0x00000001014197ee nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 142
5   rewindviewer                    0x000000010141382d nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>::parser::parse_internal(bool) + 1117
6   rewindviewer                    0x0000000101412e66 nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>::parser::parse() + 70
7   rewindviewer                    0x0000000101410fbd nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>::parse<unsigned char const*, 0>(unsigned char const*, unsigned char const*, std::__1::function<bool (int, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>::parse_event_t, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>&)>) + 989
8   rewindviewer                    0x000000010140e979 NetListener::process_json_message(unsigned char const*, unsigned char const*) + 169
9   rewindviewer                    0x000000010140df55 NetListener::run() + 2693
10  rewindviewer                    0x00000001013e5e18 prepare_and_run_game_loop(GLFWwindow*)::$_2::operator()() const + 24
11  rewindviewer                    0x00000001013e5b75 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, prepare_and_run_game_loop(GLFWwindow*)::$_2> >(void*) + 517
12  libsystem_pthread.dylib         0x00007fffdcbbe93b _pthread_body + 180
13  libsystem_pthread.dylib         0x00007fffdcbbe887 _pthread_start + 286
14  libsystem_pthread.dylib         0x00007fffdcbbe08d thread_start + 13
kswaldemar commented 6 years ago

Это во время обычной работы? Судя по логу падение произошло во время glfwPollEvents, то есть это не ошибка в логике визуализатора. Если повторяется, будем разбираться. Если только один раз поймал, то возможно какая-то бага в glfw.

Karloid commented 6 years ago

да обычная работа, было один раз

Karloid commented 6 years ago

Сейчас начал плотно использовать, часто крешится с разными ошибками

Date/Time: 2017-11-16 00:57:53.026 +0300 OS Version: Mac OS X 10.12.6 (16G29) Report Version: 12 Anonymous UUID: 8F1D05D8-4A5B-14A7-5087-E1249CA04A80

Sleep/Wake UUID: 92A6266F-FEEA-4FC6-86A9-2391564CE374

Time Awake Since Boot: 1200000 seconds Time Since Wake: 3900 seconds

System Integrity Protection: enabled

Crashed Thread: 1 com.apple.NSEventThread

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

Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: rewindviewer [19023]

Thread 0:: main thread Dispatch queue: com.apple.main-thread 0 libobjc.A.dylib 0x00007fffdc0b1069 objc_msgSend + 41 1 libobjc.A.dylib 0x00007fffdc0b43bd (anonymous namespace)::AutoreleasePoolPage::pop(void) + 781 2 com.apple.QuartzCore 0x00007fffcce5698d CA::Context::commit_transaction(CA::Transaction) + 369 3 com.apple.QuartzCore 0x00007fffccd4b7e1 CA::Transaction::commit() + 475 4 com.apple.AppKit 0x00007fffc51488b1 37+[NSDisplayCycle currentDisplayCycle]_block_invoke.31 + 323 5 com.apple.CoreFoundation 0x00007fffc723cd37 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23 6 com.apple.CoreFoundation 0x00007fffc723cca7 CFRunLoopDoObservers + 391 7 com.apple.CoreFoundation 0x00007fffc721d6d9 __CFRunLoopRun + 873 8 com.apple.CoreFoundation 0x00007fffc721d114 CFRunLoopRunSpecific + 420 9 com.apple.HIToolbox 0x00007fffc677debc RunCurrentEventLoopInMode + 240 10 com.apple.HIToolbox 0x00007fffc677dbf9 ReceiveNextEventCommon + 184 11 com.apple.HIToolbox 0x00007fffc677db26 _BlockUntilNextEventMatchingListInModeWithFilter + 71 12 com.apple.AppKit 0x00007fffc4d16a54 _DPSNextEvent + 1120 13 com.apple.AppKit 0x00007fffc54927ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796 14 rewindviewer 0x0000000100f46f79 _glfwPlatformPollEvents + 89 15 rewindviewer 0x0000000100f3fbce glfwPollEvents + 46 16 rewindviewer 0x0000000100ee8e81 prepare_and_run_game_loop(GLFWwindow*) + 1793 17 rewindviewer 0x0000000100ee7f32 main + 754 18 libdyld.dylib 0x00007fffdc9a5235 start + 1

Thread 1 Crashed:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x00007fffdcacc34a mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fffdcacb797 mach_msg + 55 2 com.apple.CoreFoundation 0x00007fffc721e434 CFRunLoopServiceMachPort + 212 3 com.apple.CoreFoundation 0x00007fffc721d8c1 CFRunLoopRun + 1361 4 com.apple.CoreFoundation 0x00007fffc721d114 CFRunLoopRunSpecific + 420 5 com.apple.AppKit 0x00007fffc4e63f02 _NSEventThread + 205 6 libsystem_pthread.dylib 0x00007fffdcbbe93b _pthread_body + 180 7 libsystem_pthread.dylib 0x00007fffdcbbe887 _pthread_start + 286 8 libsystem_pthread.dylib 0x00007fffdcbbe08d thread_start + 13

Thread 2: 0 rewindviewer 0x0000000100f18ff7 nlohmann::basic_json<std::1::map, std::1::vector, std::1::basic_string<char, std::__1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer> nlohmann::basic_json<std::1::map, std::1::vector, std::1::basic_string<char, std::1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer>::parse<unsigned char const, 0>(unsigned char const, unsigned char const*, std::1::function<bool (int, nlohmann::basic_json<std::1::map, std::1::vector, std::1::basic_string<char, std::__1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer>::parse_event_t, nlohmann::basic_json<std::1::map, std::1::vector, std::1::basic_string<char, std::1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer>&)>)::'lambda'(std::1::pair<bool, int>, unsigned char const&)::operator()(std::1::pair<bool, int>, unsigned char const&) const + 71 1 rewindviewer 0x0000000100f1693d nlohmann::basic_json<std::1::map, std::1::vector, std::__1::basic_string<char, std::1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer> nlohmann::basic_json<std::1::map, std::1::vector, std::1::basic_string<char, std::__1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer>::parse<unsigned char const, 0>(unsigned char const, unsigned char const*, std::__1::function<bool (int, nlohmann::basic_json<std::1::map, std::1::vector, std::1::basic_string<char, std::1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer>::parse_event_t, nlohmann::basic_json<std::1::map, std::1::vector, std::__1::basic_string<char, std::1::char_traits, std::1::allocator >, bool, long long, unsigned long long, double, std::1::allocator, nlohmann::adl_serializer>&)>) + 365 2 rewindviewer 0x0000000100f143f9 NetListener::process_json_message(unsigned char const, unsigned char const) + 169 3 rewindviewer 0x0000000100f13a8c NetListener::serve_connection(CActiveSocket) + 2204 4 rewindviewer 0x0000000100f13162 NetListener::run() + 562 5 rewindviewer 0x0000000100eeb768 prepare_and_run_game_loop(GLFWwindow)::$_2::operator()() const + 24 6 rewindviewer 0x0000000100eeb4c5 void std::1::thread_proxy<std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::__1::default_delete >, prepare_and_run_game_loop(GLFWwindow)::$_2> >(void*) + 517 7 libsystem_pthread.dylib 0x00007fffdcbbe93b _pthread_body + 180 8 libsystem_pthread.dylib 0x00007fffdcbbe887 _pthread_start + 286 9 libsystem_pthread.dylib 0x00007fffdcbbe08d thread_start + 13

Thread 3: 0 libsystem_kernel.dylib 0x00007fffdcad444e __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fffdcbbe621 _pthread_wqthread + 1426 2 libsystem_pthread.dylib 0x00007fffdcbbe07d start_wqthread + 13

Thread 4: 0 libsystem_kernel.dylib 0x00007fffdcad444e __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fffdcbbe48e _pthread_wqthread + 1023 2 libsystem_pthread.dylib 0x00007fffdcbbe07d start_wqthread + 13

Thread 1 crashed with X86 Thread State (64-bit): rax: 0x0000000010004005 rbx: 0x00000000ffffffff rcx: 0x00007000068d5ec8 rdx: 0x0000000000000000 rdi: 0x00007000068d6040 rsi: 0x0000000007000806 rbp: 0x00007000068d5f10 rsp: 0x00007000068d5ec8 r8: 0x0000000000007b03 r9: 0x00000000ffffffff r10: 0x0000000000000c00 r11: 0x0000000000000206 r12: 0x0000000000000c00 r13: 0x0000000000000000 r14: 0x00007000068d6040 r15: 0x0000000000007b03 rip: 0x00007fffdcacc34a rfl: 0x0000000000000206 cr2: 0x00007f8ca505c000

Logical CPU: 0 Error Code: 0x0100001f Trap Number: 133

kswaldemar commented 3 years ago

Как с этим разбираться непонятно, возможно какая-то проблема с системой/glfw Если вдруг будет что-то странное с новой версией (то что в мастере начиная от b1f8d329) заводи новый issue, будем разбираться