ossia / libossia

A modern C++, cross-environment distributed object model for creative coding and interaction scoring
https://ossia.io
GNU Lesser General Public License v3.0
204 stars 33 forks source link

hangs while stoping oscquery connection #627

Open avilleret opened 3 years ago

avilleret commented 3 years ago

happen in max when closing ossia.client help patcher;

it hangs on src/ossia/network/osc/detail/receiver.hpp:222 with 28999952

1   __ulock_wait                                                                                                          (x86_64) /usr/lib/system/libsystem_kernel.dylib        0x7fff202db5ce 
2   _pthread_join                                                                                                         (x86_64) /usr/lib/system/libsystem_pthread.dylib       0x7fff2030ff98 
3   std::thread::join()                                                                                                   (x86_64) /usr/lib/libc++.1.dylib                       0x7fff202ac806 
4   osc::receiver::stop()                                                                                                 receiver.hpp                                      222  0x1577879bd    
5   ossia::oscquery::oscquery_mirror_protocol::cleanup_connections()                                                      oscquery_mirror.cpp                               111  0x157925e8b    
6   ossia::oscquery::oscquery_mirror_protocol::stop()                                                                     oscquery_mirror.cpp                               104  0x157925e55    
7   ossia::net::generic_device::~generic_device()                                                                         generic_device.cpp                                31   0x15757e1c7    
8   ossia::net::generic_device::~generic_device()                                                                         generic_device.cpp                                30   0x15757e3c5    
9   std::__shared_ptr_emplace<ossia::net::generic_device, std::allocator<ossia::net::generic_device>>::__on_zero_shared() memory                                            3709 0x156d40d86    
10  std::__shared_count::__release_shared()                                                                               memory                                            3543 0x156ce437d    
11  std::__shared_weak_count::__release_shared()                                                                          memory                                            3585 0x156ce431f    
12  std::shared_ptr<ossia::websocket_threaded_connection>::~shared_ptr()                                                  memory                                            4521 0x156ce42ec    
13  std::shared_ptr<ossia::max::max_msp_log_sink>::~shared_ptr()                                                          memory                                            4519 0x156ce18b5    
14  std::shared_ptr<ossia::net::generic_device>::operator=(std::shared_ptr<ossia::net::generic_device>&&)                 memory                                            4554 0x156e0e7c3    
15  ossia::max::client::disconnect(ossia::max::client *)                                                                  client.cpp                                        436  0x156e0e505    
16  ossia::max::client::destroy(ossia::max::client *)                                                                     client.cpp                                        158  0x156e0e2f9    
17  freeobject                                                                                                            (x86_64) /Applications/Max.app/Contents/MacOS/Max      0x100050c18    
18  jnewobj_free                                                                                                          (x86_64) /Applications/Max.app/Contents/MacOS/Max      0x1001ef359    
19  freeobject                                                                                                            (x86_64) /Applications/Max.app/Contents/MacOS/Max      0x100050c18    
20  object_free                                                                                                           (x86_64) /Applications/Max.app/Contents/MacOS/Max      0x1001205a9    
... <More>                                                                                                                                                                                      
jcelerier commented 3 years ago

oufti :)

do you have the complete trace ? as it's likely blocking on another thread too