Bug#729171: jruby -S gem: EOFException in org.joda.time.tz.ZoneInfoProvider.readZoneInfoMap

2014-03-19 Thread Gabriel Corona
Hi,


The copy of joda-time embedded in the jruby.jar seems to be broken.
Rebuilding jruby with a non-broken joda-time shoud fix the issue.



When trying to run this bsh script:

 echo System.out.println(org.joda.time.DateTimeZone.getDefault());

with Jruby, I get the same error:

$ bsh -classpath /usr/share/java/jruby.jar script.bsh
BeanShell 2.0b4 - by Pat Niemeyer (p...@pat.net)
bsh % System.out.println(org.joda.time.DateTimeZone.getDefault());
Exception in thread main java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:197)
at java.io.DataInputStream.readUTF(DataInputStream.java:609)
at java.io.DataInputStream.readUTF(DataInputStream.java:564)
at
org.joda.time.tz.ZoneInfoProvider.readZoneInfoMap(ZoneInfoProvider.java:278)
at
org.joda.time.tz.ZoneInfoProvider.loadZoneInfoMap(ZoneInfoProvider.java:256)
[...]
UTC



But with joda time, it works as expected:

$ bsh -classpath /usr/share/java/jruby.jar
Europe/Paris



For some reason the ZoneInfoMap file seems to be broken in the
copy of joda-time embedded in jruby.



As a quickfix, I added joda-time in the classpath in /usr/bin/jruby,

exec $JAVA_CMD $JAVA_OPTS $JFFI_OPTS ${java_args[@]}
-Xbootclasspath/a:/usr/share/java/joda-time.jar:$JRUBY_CP -classpath
$CP$CP_DELIMITER$CLASSPATH

and now jruby works as expected:

$ jruby -S gem
RubyGems is a sophisticated package manager for Ruby.  This is a
basic help message containing pointers to more information.



Cheers.

-- 
Gabriel


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#729171: jruby -S gem: EOFException in org.joda.time.tz.ZoneInfoProvider.readZoneInfoMap

2013-11-09 Thread Hermann Schwarting
Package: jruby
Version: 1.5.6-6
Severity: normal

Dear Maintainer,

when I run 'jruby -S gem' as user I get the EOFException below. The expected 
behaviour would be that only the RubyGems help is printed.

Apparently some expected time zone data file cannot be read? I think a file 
ZoneInfoMap is read at this point. It is present in jruby.jar:

$ unzip -l /usr/lib/jruby/lib/jruby.jar *ZoneInfoMap
Archive:  /usr/lib/jruby/lib/jruby.jar
  Length  DateTimeName
-  -- -   
11701  2013-08-22 22:46   org/joda/time/tz/data/ZoneInfoMap
- ---
11701 1 file

My time zone is Europe/Berlin.

Exception message:

Exception in thread main java.io.EOFException
  at java.io.DataInputStream.readFully(DataInputStream.java:197)
  at java.io.DataInputStream.readUTF(DataInputStream.java:609)
  at java.io.DataInputStream.readUTF(DataInputStream.java:564)
  at 
org.joda.time.tz.ZoneInfoProvider.readZoneInfoMap(ZoneInfoProvider.java:278)
  at 
org.joda.time.tz.ZoneInfoProvider.loadZoneInfoMap(ZoneInfoProvider.java:256)
  at org.joda.time.tz.ZoneInfoProvider.init(ZoneInfoProvider.java:123)
  at org.joda.time.tz.ZoneInfoProvider.init(ZoneInfoProvider.java:82)
  at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:490)
  at org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:444)
  at org.joda.time.DateTimeZone.clinit(DateTimeZone.java:116)
  at org.jruby.RubyTime.getLocalTimeZone(RubyTime.java:96)
  at org.jruby.RubyTime$1.allocate(RubyTime.java:171)
  at org.jruby.RubyClass.allocate(RubyClass.java:220)
  at org.jruby.RubyTime.newInstance(RubyTime.java:655)
  at 
org.jruby.RubyTime$s_method_0_0$RUBYINVOKER$newInstance.call(org/jruby/RubyTime$s_method_0_0$RUBYINVOKER$newInstance.gen:65535)
  at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:289)
  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:108)
  at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
  at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
  at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
  at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
  at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
  at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
  at 
org.jruby.evaluator.ASTInterpreter.evalClassDefinitionBody(ASTInterpreter.java:196)
  at org.jruby.ast.ClassNode.interpret(ClassNode.java:141)
  at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
  at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
  at org.jruby.ast.RootNode.interpret(RootNode.java:129)
  at org.jruby.Ruby.loadFile(Ruby.java:2553)
  at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:61)
  at 
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:671)
  at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:314)
  at org.jruby.runtime.load.LoadService.require(LoadService.java:357)
  at org.jruby.runtime.load.LoadService.lockAndRequire(LoadService.java:289)
  at org.jruby.RubyKernel.requireCommon(RubyKernel.java:984)
  at org.jruby.RubyKernel.require(RubyKernel.java:967)
  at 
org.jruby.RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$require.call(org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$require.gen:65535)
  at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:319)
  at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
  at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
  at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
  at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
  at org.jruby.ast.RootNode.interpret(RootNode.java:129)
  at org.jruby.Ruby.loadFile(Ruby.java:2553)
  at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:61)
  at 
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:671)
  at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:314)
  at org.jruby.runtime.load.LoadService.require(LoadService.java:357)
  at org.jruby.runtime.load.LoadService.lockAndRequire(LoadService.java:289)
  at org.jruby.RubyKernel.requireCommon(RubyKernel.java:984)
  at org.jruby.RubyKernel.require(RubyKernel.java:967)
  at 
org.jruby.RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$require.call(org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$require.gen:65535)
  at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:319)
  at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
  at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
  at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
  at