Bug#729171: jruby -S gem: EOFException in org.joda.time.tz.ZoneInfoProvider.readZoneInfoMap
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
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