java crashes. any indication why?

jbm's icon

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

jbm's icon

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

jbm's icon

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.