Bug#743674: jruby: throws exception for TZ=UTC

brian m. carlson sandals at crustytoothpaste.net
Sat Apr 5 00:40:18 UTC 2014


Package: jruby
Version: 1.5.6-7
Severity: normal

I have TZ=UTC set in my environment.  Attempting to run a simple command
causes jruby to throw several exceptions:

  vauxhall ok % jruby -ropenssl -e 'puts "ok"'
  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.getTimeZone(RubyTime.java:155)
  	at org.jruby.RubyTime.getLocalTimeZone(RubyTime.java:98)
  	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 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 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.IfNode.interpret(IfNode.java:119)
  	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.Ruby$1.load(Ruby.java:1477)
  	at org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:671)
  	at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:314)
  	at org.jruby.Ruby.init(Ruby.java:1098)
  	at org.jruby.Ruby.newInstance(Ruby.java:179)
  	at org.jruby.Main.run(Main.java:217)
  	at org.jruby.Main.run(Main.java:128)
  	at org.jruby.Main.main(Main.java:97)
  /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/source_index.rb:8:in `require': load error: rubygems/specification -- java.lang.IllegalArgumentException: The datetime zone id 'Etc/UTC' is not recognised (LoadError)
  	from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/source_index.rb:8
  	from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/source_index.rb:1079:in `require'
  	from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems.rb:1079
  	from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems.rb:1:in `require'
  	from /usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/gem.rb:1
  	from /usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/gem.rb:2:in `require'
  	from /usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/builtin.rb:2
  	from /usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/builtin.rb:10:in `require'
  	from /usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/stub.rb:10
  	from /usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/stub.rb:1
  	...internal jruby stack elided...
  	from Kernel.require(/usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/source_index.rb:8)
  	from (unknown).(unknown)(/usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/source_index.rb:1079)
  	from Kernel.require(/usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems.rb:1079)
  	from (unknown).(unknown)(/usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems.rb:1)
  	from Kernel.require(/usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/gem.rb:1)
  	from (unknown).(unknown)(/usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/gem.rb:2)
  	from Kernel.require(/usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/builtin.rb:2)
  	from (unknown).(unknown)(/usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/builtin.rb:10)
  	from Kernel.require(/usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/stub.rb:10)
  	from (unknown).(unknown)(/usr/lib/jruby//lib/ruby/site_ruby/shared/jruby/openssl/stub.rb:1)
  	from (unknown).(unknown)(:1)

Clearly, TZ=UTC is a valid setting (it works everywhere else) and jruby
should accept it without throwing lots of errors.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-rc7-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages jruby depends on:
ii  default-jre [java6-runtime]    2:1.7-51
ii  libjffi-jni                    1.0.2-11
ii  openjdk-7-jre [java6-runtime]  7u51-2.4.6-1

Versions of packages jruby recommends:
pn  ri1.8  <none>

jruby suggests no packages.

-- no debconf information

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-java-maintainers/attachments/20140405/fe198320/attachment.sig>


More information about the pkg-java-maintainers mailing list