java crashes. any indication why?
My patch has suddenly developed a crashing habit. It seems to involve Java, but I didn't change the *only* mxj object used by the patch, and it's extremely simple -- it just takes 10 (index, freq) pairs from Jehan's pitch~ object, and converts them to multislider indices for a filter. I see "Low Memory Detector" in the crash log below, but it's only reading 20 atoms... Does anyone see from this what could be going on? Are there any simple cures (keeping in mind that this crashing started without any change to the mxj code, or to the process that initiates it).
thanks in advance.
J.
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread: 0 Java: AWT-AppKit Dispatch queue: com.apple.main-thread
Application Specific Information:
Java information:
Exception type: Bus Error (0xa) at pc=0x000bcd83
Java VM: Java HotSpot(TM) Client VM (14.3-b01-101 mixed mode macosx-x86)
Current thread (0x1e800c00): JavaThread "AWT-AppKit" [_thread_in_native, id=-1599621888, stack(0xbf800000,0xc0000000)]
Stack: [0xbf800000,0xc0000000]
Java Threads: ( => current thread )
0x3680a800 JavaThread "Timer-0" daemon [_thread_blocked, id=-1304113152, stack(0xb234d000,0xb244d000)]
0x36805000 JavaThread "TimerQueue" daemon [_thread_blocked, id=-1305169920, stack(0xb224b000,0xb234b000)]
0x37805000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=-1306226688, stack(0xb2149000,0xb2249000)]
0x39006400 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=-1307283456, stack(0xb2047000,0xb2147000)]
0x3880e800 JavaThread "AWT-Shutdown" [_thread_blocked, id=-1308340224, stack(0xb1f45000,0xb2045000)]
0x1ea10000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=-1310453760, stack(0xb1d41000,0xb1e41000)]
0x1ea0f400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=-1313890304, stack(0xb19fa000,0xb1afa000)]
0x1ea0e400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=-1314947072, stack(0xb18f8000,0xb19f8000)]
0x1ea0d400 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=-1316003840, stack(0xb17f6000,0xb18f6000)]
0x1ea02000 JavaThread "Finalizer" daemon [_thread_blocked, id=-1317060608, stack(0xb16f4000,0xb17f4000)]
0x1ea01000 JavaThread "Reference Handler" daemon [_thread_blocked, id=-1318117376, stack(0xb15f2000,0xb16f2000)]
=>0x1e800c00 JavaThread "AWT-AppKit" [_thread_in_native, id=-1599621888, stack(0xbf800000,0xc0000000)]
Other Threads:
0x1e9fd400 VMThread [stack: 0xb14f0000,0xb15f0000] [id=-1319174144]
0x1ea11000 WatcherThread [stack: 0xb1e43000,0xb1f43000] [id=-1309396992]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
par new generation total 14336K, used 6378K [0x21010000, 0x22010000, 0x223c0000)
eden space 12288K, 51% used [0x21010000, 0x2164ab38, 0x21c10000)
from space 2048K, 0% used [0x21c10000, 0x21c10000, 0x21e10000)
to space 2048K, 0% used [0x21e10000, 0x21e10000, 0x22010000)
concurrent mark-sweep generation total 49152K, used 0K [0x223c0000, 0x253c0000, 0x31010000)
concurrent-mark-sweep perm gen total 12288K, used 9819K [0x31010000, 0x31c10000, 0x35010000)
Virtual Machine Arguments:
JVM Args: -Xincgc -Xms64m -Xmx256m
Java Command:
Launcher Type: generic
Physical Memory: Page Size = 4k, Total = 16384M, Free = 17592186042556M
okay, so maybe java isn't involved(?) I unhooked the mxj object and it still crashes. It seems to involve pattrstorage... not sure what's up, but I'll see if I can find it. Here's the crashed thread, in case it's obvious to anyone else.
Thread 0 Crashed: Java: AWT-AppKit Dispatch queue: com.apple.main-thread
0 com.cycling74.MaxMSP 0x000bcd83 atom_getlong + 17
1 com.cycling74.MaxAPI 0x00f65fbe atom_getlong + 31
2 com.cycling74.pattrstorage 0x1cffce0a pattrstorage_dorecall_interp + 68
3 com.cycling74.pattrstorage 0x1cffd709 pattrstorage_dorecall_float + 357
4 com.cycling74.pattrstorage 0x1cffd734 pattrstorage_dorecall_float + 400
5 com.cycling74.pattrstorage 0x1cffd734 pattrstorage_dorecall_float + 400
6 com.cycling74.pattrstorage 0x1d005af4 pattrstorage_recall_float + 544
7 com.cycling74.pattrstorage 0x1d005dd3 pattrstorage_recall_gimme + 548
8 com.cycling74.pattrstorage 0x1d005e1f pattrstorage_float + 60
9 com.cycling74.MaxMSP 0x0006462e outlet_float + 1014
10 com.cycling74.MaxAPI 0x00f576eb outlet_float + 54
11 com.cycling74.line 0x1ccf7a4e line_tick + 203
12 com.cycling74.line 0x1ccf7b59 line_go + 63
13 com.cycling74.MaxMSP 0x00063e59 outlet_list + 649
14 com.cycling74.MaxMSP 0x0001c538 typedmess_fun + 782
15 com.cycling74.MaxMSP 0x0001ca69 typedmess + 83
16 com.cycling74.MaxMSP 0x0001d0d5 aeval + 893
17 com.cycling74.MaxMSP 0x000085e0 atombuf_eval + 152
18 com.cycling74.MaxAPI 0x00f640a7 atombuf_eval + 60
19 com.cycling74.message 0x1ccea0ad jmessage_atombuf_eval + 429
20 com.cycling74.message 0x1ccea409 jmessage_bang + 129
21 com.cycling74.MaxMSP 0x00064e32 outlet_bang + 674
22 com.cycling74.MaxMSP 0x00051118 trigger_iterate(unpack*, long, double, symbol*, symbol*, short, atom*, short) + 434
23 com.cycling74.MaxMSP 0x00051344 trigger_bang(unpack*) + 80
24 com.cycling74.MaxMSP 0x00064e32 outlet_bang + 674
25 com.cycling74.MaxAPI 0x00f5764d outlet_bang + 31
26 com.cycling74.MaxMSP 0x0002aa77 sched_takepoll + 483
27 com.cycling74.MaxMSP 0x0002ab2c sched_poll + 50
28 com.cycling74.MaxMSP 0x000125a5 max_tick + 107
29 com.cycling74.MaxMSP 0x001e0094 maxapplication_eventtimerproc(__EventLoopTimer*, void*) + 22
30 com.apple.CoreFoundation 0x92197edb __CFRunLoopRun + 8059
31 com.apple.CoreFoundation 0x92195864 CFRunLoopRunSpecific + 452
32 com.apple.CoreFoundation 0x92195691 CFRunLoopRunInMode + 97
33 com.apple.HIToolbox 0x950aff0c RunCurrentEventLoopInMode + 392
34 com.apple.HIToolbox 0x950afcc3 ReceiveNextEventCommon + 354
35 com.apple.HIToolbox 0x95237cb5 ReceiveNextEvent + 83
36 com.cycling74.MaxMSP 0x002cd822 juce::juce_dispatchNextMessageOnSystemQueue(bool, bool) + 554
37 com.cycling74.MaxMSP 0x002d73f7 juce::MessageManager::dispatchNextMessage(bool, bool*, bool) + 79
38 com.cycling74.MaxMSP 0x002d74b6 juce::MessageManager::runDispatchLoop() + 42
39 com.cycling74.MaxMSP 0x002d5e11 juce::JUCEApplication::main(juce::String&, juce::JUCEApplication*) + 605
40 com.cycling74.MaxMSP 0x002d5eeb juce::JUCEApplication::main(int, char**, juce::JUCEApplication*) + 125
41 com.cycling74.MaxMSP 0x001e04d8 main + 76
42 com.cycling74.MaxMSP 0x00005c02 _start + 216
43 com.cycling74.MaxMSP 0x00005b29 start + 41
okay, got it. (just so nobody tries to figure it out) I had a pattr registered in two pattrstorage objects -- one was trying to linear interpolate and the other exp, on the same value. Not easy to do! ;-)
J.