Bug 507870

Summary: netx: No base directory (contains cache and other data)
Product: [Fedora] Fedora Reporter: Amit Shah <amit.shah>
Component: java-1.6.0-openjdkAssignee: Lillian Angel <langel>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: amit.shah, chrisw01, dbhole, duffy, fedora, langel, lkundrak, mjw, omajid, yulrottmann
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.6.0.0-24.b16.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-10 17:04:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Amit Shah 2009-06-24 15:32:09 UTC
Description of problem:
Running /usr/bin/javaws gives this error:

$ /usr/bin/javaws meeting.jnlp 
netx: No base directory (contains cache and other data)

(meeting.jnlp is from an elluminate meeting)

Running with -basedir makes it work:

$ mkdir /tmp/foo; javaws -basedir /tmp/foo meeting.jnlp
Using Java ECELP codec because native not available:
java.lang.UnsatisfiedLinkError: no JINECELP in java.library.path
AudioEngine.getInstance: Cannot create the AudioEngine object: java.lang.IllegalStateException: Line cant be closed if it isnt open
VideoBean.<init>: Cannot create class: java.lang.UnsatisfiedLinkError: no LinuxVideo in java.library.path

... and it works.

strace info around the failure:
20550 futex(0x7f1138008028, FUTEX_WAKE_PRIVATE, 1) = 0
20567 futex(0x7f11381fe254, FUTEX_WAIT_PRIVATE, 1, {4, 999997679} <unfinished ...>
20550 stat("/home/amit/.netxrc", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
20550 open("/home/amit/.netxrc", O_RDONLY) = 15
20550 fstat(15, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
20550 close(15)                         = 0
20550 mkdir("/home/amit/.netx", 0777)   = -1 EEXIST (File exists)
20550 write(2, "netx: No base directory (contains"..., 55) = 55
20550 write(2, "\n"..., 1)              = 1

Earlier, it used to fail on the .netxrc dir as well, but I created it and that doesn't seem to be the problem here.

Removing the .netx directory doesn't help; that dir. gets created earlier on. I guess it's an incorrect call to create the .netx dir. when a different one is intended to be created.

Thanks to Kevin Wolf for providing the -basedir fix.

Comment 1 Omair Majid 2009-06-24 18:48:15 UTC
Hi Amit,

Thanks for reporting this bug. The issue is that if .netxrc doesnt define a basedir, then javaws doesnt expect ~/.netx/ (which is the default basedir) to exist. This was fixed upstream [1] a few days ago, and should be in the next update.

In the meantime, here are two possible workarounds you can use:

1) define basedir in your .netxrc file like this:
basedir=/home/amit/.netx

2) delete both ~/.netxrc and ~/.netx/. They should both get recreated after running javaws. 
 
[1] http://icedtea.classpath.org/hg/icedtea6/diff/afde409ac13e/rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java

Comment 2 Amit Shah 2009-06-24 19:01:58 UTC
Hello Omair,

Option (2) doesn't work -- I tried that as well as this is a fresh F11 install so there was no chance of any .net* files existing.

I added the basedir= line to a ~/.netxrc file that I created and that looks like it works -- it gives me a different (but expected) error so I guess that is a correct fix.

Thanks!

Comment 3 Omair Majid 2009-06-24 19:32:31 UTC
(In reply to comment #2)
> Option (2) doesn't work -- I tried that as well as this is a fresh F11 install
> so there was no chance of any .net* files existing.

Oh, I think I see what happened. The directory gets created to store the certificates, and it already exists at the point where the code tries to use it for cache. Sorry about that :(

> I added the basedir= line to a ~/.netxrc file that I created and that looks
> like it works -- it gives me a different (but expected) error so I guess that
> is a correct fix.
 
Thanks for confirming the workaround.

Cheers

Comment 4 Mark Wielaard 2009-07-09 14:28:14 UTC
*** Bug 510492 has been marked as a duplicate of this bug. ***

Comment 5 Fedora Update System 2009-07-10 13:32:59 UTC
java-1.6.0-openjdk-1.6.0.0-19.b16.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/java-1.6.0-openjdk-1.6.0.0-19.b16.fc10

Comment 6 Fedora Update System 2009-07-10 13:34:19 UTC
java-1.6.0-openjdk-1.6.0.0-24.b16.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/java-1.6.0-openjdk-1.6.0.0-24.b16.fc11

Comment 7 Christopher A. Williams 2009-07-13 17:02:43 UTC
Had the same issue today with the Elluminate Live meeting application. Updated to the versions of the packages here (OpenJDK and OpenJDK-Plugin).

Verified that this fixes the problem. Hopefully we'll see these as official updates soon...!

Comment 8 Fedora Update System 2009-07-16 07:11:56 UTC
java-1.6.0-openjdk-1.6.0.0-19.b16.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2009-07-16 07:15:04 UTC
java-1.6.0-openjdk-1.6.0.0-24.b16.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.