CARTAvis / carta

To CARTA users, this repo holds the CARTA release packages. Please use this repo to log bugs and feature requests. These will be triaged by the development team and prioritised as necessary in the development cycles.
19 stars 0 forks source link

backend crash when using v4.1 macOS electron app to view pv preview images #207

Open kswang1029 opened 5 months ago

kswang1029 commented 5 months ago

When I use the v4.1 macOS electron app to view pv preview images, the backend may crash. The macOS crash log is attached below.

Thread 2 Crashed: 0 libsystem_kernel.dylib 0x1a9718744 pthread_kill + 8 1 libsystem_pthread.dylib 0x1a974fc28 pthread_kill + 288 2 libsystem_c.dylib 0x1a965dae8 abort + 180 3 libc++abi.dylib 0x1a9708b84 abort_message + 132 4 libc++abi.dylib 0x1a96f83b4 demangling_terminate_handler() + 320 5 libobjc.A.dylib 0x1a93cee68 _objc_terminate() + 160 6 libc++abi.dylib 0x1a9707f48 std::terminate(void (*)()) + 16 7 libc++abi.dylib 0x1a970ad34 cxxabiv1::failed_throw(cxxabiv1::cxa_exception*) + 36 8 libc++abi.dylib 0x1a970ace0 cxa_throw + 140 9 libcasa_casa.7.dylib 0x1029d9898 casacore::ArrayBase::validateConformance(casacore::ArrayBase const&) const + 144 10 libcasa_casa.7.dylib 0x1029d9b7c casacore::ArrayBase::copyVectorHelper(casacore::ArrayBase const&) + 80 11 libcasa_casa.7.dylib 0x102a5ce64 casacore::Vector::assign_conforming_implementation(casacore::Vector const&, std::1::integral_constant<bool, true>) + 44 12 carta_backend 0x10108f828 casacore::Vector::assign_conforming(casacore::Vector const&) + 12 (Vector.h:181) [inlined] 13 carta_backend 0x10108f828 casacore::Vector::operator=(casacore::Vector const&) + 12 (Vector.h:191) [inlined] 14 carta_backend 0x10108f828 carta::RegionHandler::CalculatePvPreviewImage(int, int, bool, std::1::shared_ptr, std::1::shared_ptr, std::__1::function<void (float)>, CARTA::PvResponse&, carta::GeneratedImage&) + 2304 (RegionHandler.cc:1276) 15 carta_backend 0x10108d410 carta::RegionHandler::CalculatePvPreviewImage(int, int, int, AxisRange&, bool, std::1::shared_ptr&, CARTA::PvPreviewSettings const&, std::1::function<void (float)>, CARTA::PvResponse&, carta::GeneratedImage&) + 3164 (RegionHandler.cc:1170) 16 carta_backend 0x10108c620 carta::RegionHandler::CalculatePvImage(CARTA::PvRequest const&, std::__1::shared_ptr&, std::1::function<void (float)>, CARTA::PvResponse&, carta::GeneratedImage&) + 1324 (RegionHandler.cc:1010) 17 carta_backend 0x1010c3240 carta::Session::OnPvRequest(CARTA::PvRequest const&, unsigned int) + 992 (Session.cc:1353) 18 carta_backend 0x1010d8a94 carta::GeneralMessageTask::execute() + 28 (OnMessageTask.tcc:34) 19 carta_backend 0x101105cdc carta::ThreadManager::StartEventHandlingThreads(int)::$_0::operator()() const + 96 (ThreadingManager.cc:54) [inlined] 20 carta_backend 0x101105cdc decltype(static_cast<carta::ThreadManager::StartEventHandlingThreads(int)::$_0>(fp)()) std::1::invoke<carta::ThreadManager::StartEventHandlingThreads(int)::$_0>(carta::ThreadManager::StartEventHandlingThreads(int)::$_0&&) + 96 (type_traits:3918) [inlined] 21 carta_backend 0x101105cdc void std::1::thread_execute<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete>, carta::ThreadManager::StartEventHandlingThreads(int)::$_0>(std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete>, carta::ThreadManager::StartEventHandlingThreads(int)::$_0>&, std::1::tuple_indices<>) + 96 (thread:287) [inlined] 22 carta_backend 0x101105cdc void* std::1::thread_proxy<std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete>, carta::ThreadManager::StartEventHandlingThreads(int)::$_0>>(void*) + 192 (thread:298) 23 libsystem_pthread.dylib 0x1a974ffa8 _pthread_start + 148 24 libsystem_pthread.dylib 0x1a974ada0 thread_start + 8

However, with the dev branch in my dev environment, the crash cannot be reproduced apparently. This might be due to packaging?