Crash on Launch, MacOSX JDK 1.5 - jitlib suspected

Ignotus's icon

I have been having some serious problems with starting MaxMSP ever since I installed Java 5.0/JDK 1.5 on MacOSX, an upgrade that has was installed by Apple's Software Update application. This only happens on my laptop, a 667MHz G4 with 512M RAM running OSX 10.4.2.

I have tried reinstalling MaxMSP. Everything is fine until I install Jitter. Then Max crashes shortly after startup. Here's the beginning of the crash log:

Date/Time: 2006-05-07 10:26:31.325 -0500
OS Version: 10.4.6 (Build 8I127)
Report Version: 4

Command: MaxMSP 4.5.app
Path: /Applications/MaxMSP 4.5/MaxMSP 4.5.app
Parent: WindowServer [66]

Version: 4.5.7 (4.5.7 - 3 February 2006)

PID: 313
Thread: 0

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000010

Thread 0 Crashed:
0 mxj{     0x04b7ac14 construct + 256
1 mxj{     0x04b7a26c maxjava_new + 1368
2 MaxPPC3.1pwpc     0x00436f78 typedmess_fun + 152
3 MaxPPC3.1pwpc     0x00536430 object_new_typed + 164
4 MaxPPC3.1pwpc     0x00429744 auxtable_search + 156
5 MaxPPC3.1pwpc     0x0042baf8 extload + 220
6 MaxPPC3.1pwpc     0x0042be3c newload_internal + 524
7 MaxPPC3.1pwpc     0x0042bbe4 newload + 52
8 MaxPPC3.1pwpc     0x00436f78 typedmess_fun + 152
9 MaxPPC3.1pwpc     0x00436c60 typedmess + 92
10 MaxPPC3.1pwpc     0x0046d968 newinstance + 44
11 jitlib     0x0445beec jit_java_init + 496
12 jitlib     0x0443fab8 initialize + 464
13 ...ple.CoreServices.CarbonCore     0x90bea8bc InitializeOneConnection + 504
14 ...ple.CoreServices.CarbonCore     0x90bea68c InitializeConnections + 136
15 ...ple.CoreServices.CarbonCore     0x90be76f8 PrepareClosure + 364
16 ...ple.CoreServices.CarbonCore     0x90be63b4 PCFragPrepareClosureFromFile + 468
17 ...ple.CoreServices.CarbonCore     0x90be4c84 GetDiskFragment + 288
18 MaxPPC3.1pwpc     0x00429bd0 external_fragload + 316
19 MaxPPC3.1pwpc     0x00429610 external_load + 316
20 MaxPPC3.1pwpc     0x0046a564 startup_load + 216
21 MaxPPC3.1pwpc     0x0042c288 main + 680

This seems to point to jitlib.

I have had numerous unresolved problems with mxj on this machine. YOu can check the archives. They were only nuisances, so I did not complain at any length. I did go so far as to get an iLok and install MaxMSP + Jitter onto another machine, a 950Mhz G4 with 1M RAM running MACOSX 10.4.6. It also has Java 5.0/JDK 1.5 installed and all the externals I use on the laptop. I have no problems.

I have not been able to find any advice in the forums, but maybe I just am not entering the right search criteria.

Are there know problems with JDK 1.5 and jitlib on MacOSX?

-- Paul

Ignotus's icon

Okay, I'll reply to myself and hope someone from Cycling74 can follow
up on this.

When I remove jitter.jar from Library/Application Support/Cycling
'74/java/lib/ I can then launch MaxMSP.

Obviously I won't have any Java control over Jitter if I do that. I
don't want that to be my solution.

It seems clear to me that there is some incompatibility between
jitter.jar and my Java installation.

I have removed all my preferences, reinstalled my MaxMSP/JItter
installation with no non-c74 externals, modified the classpaths in
.bash_profile (worth a try), etc.

I can't seem to isolate the problem elsewhere in such a way that
jitter.jar can be installed.

-- Paul

--
----- |(*,+,#,=)(#,=,*,+)(=,#,+,*)(+,*,=,#)| -----

projects's icon

Hi Paul - sorry for the delay in replying to your original message.

In the last thread on the max-msp list where you reported problems
with mxj, you mentioned that reverting to the older versions of mxj
and mxj~ fixed your problem. Topher pointed out that this probably
means that your java installation is probably using an out-of-date
version of max.jar. You replied to this email, but it wasn't clear
from your reply what steps you had taken to make sure your max.jar
file was up-to-date. I would
1. trash all instances of max.jar and jitter.jar on your hard drive.
do a thorough search.
2. reinstall Max/MSP

if you haven't already tried this, do it and report back if there are
still problems.
thanks!
Ben

Ignotus's icon

Ben,

Right. that's what I did. A clean install of MaxMSP & Jitter. I zipped
my old Cycling74 folder to keep my externals around, then trashed it.
Also searched for copies of jitter.jar or max.jar and trashed those.
Restarted. Got the same error, pretty much as you see it in my first
message in this thread, every time. At least it's consistent.

This has been a difficult problem to track down. I can claim some
expertise in Java--I write code in my day job--but it is a big,
multi-leveled language, and I can't claim any knowledge of how
applications interface with the VM. My guess would be that there is
where the problem originates, but I am not sure.

For one project I am currently working on, access to Jitter/OpenGL via
mxj could be very useful. I think after a year of fighting with this
problem, I'd like to solve it once and for all.

thanks,

-- Paul

Andrew Benson's icon

Hi Paul,
It seems like it's time to take this problem into C74 Support.
As it seems there is something specific to your machine, it will be much
more efficient for us to communicate directly off-list.
Send an email to support@cycling74.com, and be sure to include as much
detail as possible.

Thanks,
Andrew B.

Ignotus's icon

Andrew,

In the process of documenting my system, I think I have solved the
problem. System Profiler found a stale copy of max.jar that was not
located by Spotlight (I should have used the Unix locate command). It
was located in /Library/Java/Extensions/, where I had placed it when
compiling mxj classes using XCode.

The old max.jar in the Extensions folder was getting loaded before the
max.jar in Cycling '74 Support, and causing the current crashes and
earlier non-fatal errors from mxj.

I'm working on a solution for setting the classpath in XCode instead
of copying the jar files, and almost have it working. That would be
better to discuss on the Java-Dev forum.

Meanwhile, thanks for getting back to me--at least it kicked me into
the close examination of my system that was needed to find the
problem.

-- Paul

--
----- |(*,+,#,=)(#,=,*,+)(=,#,+,*)(+,*,=,#)| -----