Closed maybites closed 4 years ago
I was not very specific in my bug report: The crash is happening on max-ossia when compiled locally with the latest commits following these instructions:
https://github.com/OSSIA/libossia/wiki/Building#building-the-max-implementation-on-macos
for the time being I will stick to the official release, which seems to work fine.
from the looks of the stack trace, an invalid OSC message was received, an exception was thrown, and nothing was there to catch it. investigating...
for the record, no OSC message was sent. pressing the message 'expose oscquery ...' causes this crash.
And I just realized: when I compile
libossia-max.dylib
and replace it with the one that comes with the release, there is no crash.
I just compiled the max externals on Windows 10 and I don't see any issues. So it seems to be an issue isolated to OSX.
I can't reproduce this crash.
Do you have by any chance another Max package that deals with OSC ? and which uses OSCPack ?
It looks as if your hunch is correct:
I removed all the packages and the crash is gone.
Then I put back the packages back, one by one, to see which one was causing it, but I wasn't able to identify one.
its working now fine. with one exception:
I made the test by opening the package launch patch. I tested its functionality (all ok), then closed it. (so far no problem). but when I close max it crashes.
not really a problem, but it looks as if libossia is involved, even though there is no patch open anymore before I close max.
I can repeat this now consistently.
Thread 0 Crashed:: CrBrowserMain
0 libsystem_kernel.dylib 0x00007fff6938896e os_fault_with_payload + 10
1 libsystem_kernel.dylib 0x00007fff69389451 darwin_check_fd_set_overflow.cold.2 + 31
2 libsystem_kernel.dylib 0x00007fff6937467c __darwin_check_fd_set_overflow + 68
3 libossia-max.dylib 0x000000015278bbf4 servus::dnssd::Servus::_handleEvents(_DNSServiceRef_t*, int) + 404
4 libossia-max.dylib 0x0000000152789d4a servus::dnssd::Servus::announce(unsigned short, std::1::basic_string<char, std::1::char_traits
if that's indeed the issue we can try putting oscpack into a separate namespace maybe
(or just make sure that the symbols are properly hidden)
I am still investigating. I might be able to track down that package...
thanks, that would be very useful. Any chance that this doesn't happen in Max but does in M4L ?
nope, just max. and its very elusive. I am pretty sure its a package, but I can't identify it (I have 30 that could be the culprit)
I can make the crash go away by removing all of them, but then suddenly its there again when I place them back.
we can try something - can you go into your Max packages folder and run
find . -name *.mxe -exec nm -A {} \; | grep -i osc
(or mxe64 or dylib)
I tried
find . -name *.mxo -exec nm -A {} \; | grep -i osc
and
find . -name *.dylib -exec nm -A {} \; | grep -i osc
but didn't find anything
just weird. now all the packages are back and no crash.. :-/
Ok, I found it. It is an external I wrote myself. But it has nothing to do with OSC (at least as far as I can remember). Anyway, its obsolete anyway but I add it here if you want to confirm:
Ok, I still can reproduce the crash even with the removed package from my last post.
You probably will get a missing java error. most likely it will not affect this crash, but for completion:
when sparck opens, it will change the max menu
----------begin_max5_patcher---------- 1250.3oc0X0zaiaCD8r8uBAgdz0fjh5Ct25gdon8z1KEEKBjkXTXfjn.EUpC Vr+2KEIkichsLssTxlbvghhTy7l2LCmgee4B+M7szVeuu38udKV78kKVnmpe hE1mW3WktMqLsUuL+6K40cU9qLuRMj2IKoR8KQ1YMSIetgZ9x99q772jVW36 8M6RZRkYOvpKtSPyjlUghBWCV4EDG0+uPP+uHzZvt8vx0Z.eyi+JJYOMfUOn .vcecQZEURE2QqS2TpUCf8c2yEUoZQF0OwOVtr+mUNB+Z5+oj+fvkzs5uT+Z XUcUdf0WnkQYNUJix7vpkNYcvI8+KFOp0I5nVGzUf2McRIu93fBdJPcdpNPq +XnFE3geOJVvWNSeM7ZW0FpXNbqgwA83CB.N3Vide.6wchkdalZhFh0fGEiF f8oAO7DwzWA.mujTFW1fDGHSXvOW4njrpK1CeW5IWLJlTSAgiZTBmrTSyWHK AtmS6YHYzm7zSX.bcXe5WW7nAejomTth4Z3Lw4nBisf1XARFyBDMYonpnsso Ez2FkRakd+B7BAoSTbrFZ3QiOCHSW74wowt7lVZctGDEuVYwWC8RT+cb7BFG T8YafD8oqAiRaIyNsQ21vaod71r8.FQ82Hn65XyA20HM9gIAiRmyMaJTJuF1 WQtIWfYf43jnwKaJbtgIuskktNm9DKi5UlJo0YO2GoNGDKw5Q+13zLdIWXVr x8BEhIqTChIQf3j9QIDLDpFAOtYJbxhBd+JfDQhz4tRhNeAjHvmfBHQfDm6x ER9IqBRO1oX3SZT56q8RZSBanXhl0OkcId18jmsZkG3emJVd55iWxKJJoWXz 44tSBKmgOeW7P7GYkipOsf6cP+XSS2sV7a5SHZLpj7InsmffXMDRbH0zGJeZ NMVPq3pZON8wvAiV7wYCTsDpo4V602bxidl6DRFHuytNBpu9Rtrs8ZtaNHLd zTSmEv5c4Wxpe88Kqkb+7GZEZ4chrAccH6m2KBOWgXVcpjwq2aQnCWDWjSEm 1ayUQ2e8xtIZn22tMI4DHspysIIrKRBMARh7dIHnKPhLE1NjCBpupjaGRwFm pwkzr3zOn+iKZv6FHCOPcpX4MbUAI1jIPhobQSNK0YUg1GdqUAda5pKoBz55 slJ.5hfRlElOzEQGLELuKBBcbLdi7HvAQGLEIKbIi9TXKCbIO6TbxgKdGnvo .QNHnQyJDFa5aLQWBy9OcqG.3h2CbRJHvgTi3YolGGD7qLCSUnoKQLPx4Eso jyzllmnhV610RUUh8ilaNKYk9QVs4QcCK9B5Srg0i0yjJTEGKUUF2IzZp+1H SGO9Ubkfq6XVYqvqRjsxmKecYt0pJ00a825xY7uJSkcs28Wz5NSkyJXdeZWo 7Paylh6Ykk6tmuE6dipU.ak71aAbkc5CtSPj8B.AqCfAwnH8H0fvv83V6dfC aBGhI.T+RwQnXbndTBJHLneD3UaC8hr.PhQB.RB.aFolBdvEPprk0ElN.Q5K 3zNaif2vECjrZqjcquSxKDo4LZsbmasghMlaSClp2pM6Zah0lVoLnrg8ruq3 Nx3ORq3Uo28.qP4YV7fjleGWnzP5XrRZVlRZ6Yo0Ecnq4P2UH7k7K2n580+9 e9ye21a00+UdTG4QE.vk8oLwO5dQ6+VsMol3TcKqK+wx+GPZmBw. -----------end_max5_patcher-----------
and press 'expose osc 127.0.0.1 9999 8888'
-> crash.
commit 39f9783fbe98ffed1747099e60079e84c9de4137 has fixed it.
Hi when I follow these steps I can bring max to crash:
by now it usually crashes, if not, launch ossia from package manager.
Process: Max [94459] Path: /Applications/_Devel/Max_8.1.2.app/Contents/MacOS/Max Identifier: com.cycling74.Max Version: 8.1.2 [1bd89fe] (8.1.2) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: Max [94459] User ID: 501
Date/Time: 2020-03-05 08:55:53.868 +0100 OS Version: Mac OS X 10.15.3 (19D76) Report Version: 12
System Integrity Protection: disabled
Crashed Thread: 49 ...
Thread 49 Crashed: 0 libsystem_kernel.dylib 0x00007fff7138d7fa pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff7144abc1 pthread_kill + 432 2 libsystem_c.dylib 0x00007fff71314a1c abort + 120 3 libc++abi.dylib 0x00007fff6e3aebe8 abort_message + 231 4 libc++abi.dylib 0x00007fff6e3aed84 demangling_terminate_handler() + 238 5 libobjc.A.dylib 0x00007fff6feda792 _objc_terminate() + 104 6 libc++abi.dylib 0x00007fff6e3bbdc7 std::terminate(void (*)()) + 8 7 libc++abi.dylib 0x00007fff6e3ae20f cxa_rethrow + 99 8 libossia-max.dylib 0x0000000155fd0b9f oscpack::posix::SocketReceiveMultiplexerImplementation::Run() + 2735
9 libossia-max.dylib 0x0000000155fd00e5 oscpack::detail::SocketReceiveMultiplexer::Run() + 21
10 libossia-max.dylib 0x0000000155fd00c9 oscpack::detail::UdpListeningReceiveSocket::Run() + 25
11 libossia-max.dylib 0x0000000155fd00a4 osc::receiver::run()::'lambda'()::operator()() const + 36
12 libossia-max.dylib 0x0000000155fd003d decltype(std:: 1::forward<osc::receiver::run()::'lambda'()>(fp)()) std::1::invoke<osc::receiver::run()::'lambda'()>(osc::receiver::run()::'lambda'()&&) + 29
13 libossia-max.dylib 0x0000000155fcffd5 void std::1::thread_execute<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete >, osc::receiver::run()::'lambda'()>(std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete >, osc::receiver::run()::'lambda'()>&, std:: 1::tuple_indices<>) + 37
14 libossia-max.dylib 0x0000000155fcf8a6 void* std::1::thread_proxy<std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete >, osc::receiver::run()::'lambda'()> >(void*) + 118
15 libsystem_pthread.dylib 0x00007fff7144ae65 _pthread_start + 148
16 libsystem_pthread.dylib 0x00007fff7144683b thread_start + 15
Thread 49 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x0000700011df6000 rcx: 0x0000700011df5528 rdx: 0x0000000000000000 rdi: 0x000000000001d83b rsi: 0x0000000000000006 rbp: 0x0000700011df5550 rsp: 0x0000700011df5528 r8: 0x0000700011df53f0 r9: 0x0000700011df55c0 r10: 0x0000700011df6000 r11: 0x0000000000000246 r12: 0x000000000001d83b r13: 0x0000003000000008 r14: 0x0000000000000006 r15: 0x0000000000000016 rip: 0x00007fff7138d7fa rfl: 0x0000000000000246 cr2: 0x00007fff9ab913c8