MarcBoule / ImpromptuModular

Virtual Eurorack Modules for VCV Rack
Other
93 stars 10 forks source link

Clocked crash #57

Closed pgatt closed 1 year ago

pgatt commented 1 year ago
Time Since Wake:       158505 seconds

System Integrity Protection: enabled

Crashed Thread:        12  com.apple.audio.IOThread.client

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000030
Exception Codes:       0x0000000000000001, 0x0000000000000030
Exception Note:        EXC_CORPSE_NOTIFY

VM Region Info: 0x30 is not in any region.  Bytes before following region: 140722712018896
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      mapped file              7ffc8f430000-7ffc8fa6c000 [ 6384K] r-x/r-x SM=COW  ...t_id=4c03325f

Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_c.dylib                   0x7ff80f144542 strtoll_l + 152
1   libRack.dylib                            0x55606cd nsvg__atof(char const*) + 109
2   libRack.dylib                            0x5552c0b nsvg__startElement(void*, char const*, char const**) + 1227
3   libRack.dylib                            0x555189d nsvg__parseXML(char*, void (*)(void*, char const*, char const**), void (*)(void*, char const*), void (*)(void*, char const*), void*) + 557
4   libRack.dylib                            0x5551b5c nsvgParse + 284
5   libRack.dylib                            0x5559c1c nsvgParseFromFile + 156
6   libRack.dylib                            0x5634451 rack::window::Svg::loadFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 65
7   libRack.dylib                            0x5634dfd rack::window::Svg::load(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 141
8   plugin.dylib                            0x19e4dc59 ClockedWidget::ClockedWidget(Clocked*) + 185
9   plugin.dylib                            0x19e49ce4 rack::plugin::Model* rack::createModel<Clocked, ClockedWidget>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)::TModel::createModuleWidget(rack::engine::Module*) + 84
10  libRack.dylib                            0x55e46a7 rack::app::RackWidget::fromJson(json_t*) + 615
11  libRack.dylib                            0x5577cc2 rack::patch::Manager::fromJson(json_t*) + 754
12  libRack.dylib                            0x557650d rack::patch::Manager::loadAutosave() + 285
13  libRack.dylib                            0x55760c0 rack::patch::Manager::launch(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) + 160
14  Rack                                   0x104af9c22 main + 2530
15  dyld                                   0x204c6752e start + 462
MarcBoule commented 1 year ago

I see you're on a MAC, so I'll try this when I get home from work, but just to know more about it, in what circumstances did it crash, whas it on opening a patch that contained a Clocked instance, or when adding one to a new patch, or something else? For me to have a chance to reproduce it, I would need more context please.

From the log, I can't see how it could be a problem with Clocked, because the crash occurs upon loading an SVG (probably for a knob or the panel or something), and that's all straight forward code that's been there for years. I'm keeping an open mind as always, it's just a bit puzzling and not clear what may be wrong here.

pgatt commented 1 year ago

Hi Marc,

Sorry for the lack of detail. Yes - crashing upon opening a patch that contained a Clocked instance.

MarcBoule commented 1 year ago

Would it be possible to send me the patch (or a minimal one that has the crash)? That would really go a long way for me to help find the cause.

pgatt commented 1 year ago

Sorry, I hadn't saved the patch and I needed to debug some other issues. Close for now if you like, and I can re-open if I see it again.

MarcBoule commented 1 year ago

Ok, I'll mess with a patch on my Mac and see if I can spot anything, but yes, please re-open if you can get it again. Thanks!

pgatt commented 1 year ago

Okay, can reliably reproduce now. Here's how: Running Clocked clock out into the Randomize of Stöermelder Strip input and then quitting while the clock is running means that Rack crashes when reopening.

Ah, that is clearer. I managed to get a crashing log.txt this time, and it looks like Strip is to blame. log.txt

MarcBoule commented 1 year ago

Good to know!