Opened 2 years ago

Closed 13 months ago

#1870 closed defect (fixed)

Java 9 issues

Reported by: zzz Owned by: zzz
Priority: minor Milestone: 0.9.30
Component: other Version: 0.9.27
Keywords: Cc:
Parent Tickets:

Description

Testing with openjdk-9-jdk (9~b114-0ubuntu1) on xenial. Multiple issues, see comments.

Subtickets

#1935: Tomcat 7/8defectclosedzzz

Change History (16)

comment:1 Changed 2 years ago by zzz

  • Owner set to zzz
  • Status changed from new to accepted
  • _() methods removed several releases ago (itoopie plugin still uses, must be fixed)
  • Allowed java 9 package in debian/control in 0.9.27-1
  • Internal methods in jrobin: Updated to jrobin 1.6.0-1 in 0.9.27-5 which removed one place, fixed another and added DeallocationHelper?, more issues fixed in 8f869db9a1235a22123bb530b7779b71111591d6 0.9.27-6, more to go, DeallocationHelper? doesn't work without JVM args we can't add portably; see also https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool and try jdeps -jdkinternals build/*
  • Graphs don't work
  • Sometimes graphs crash the JVM in sun.font.FreetypeFontScaler?.initNativeScaler() but that looks like an ancient problem from googling, not sure why now
  • JSP compile fails: java.lang.ClassCastException?: jdk.internal.loader.ClassLoaders?$AppClassLoader? (in module: java.base) cannot be cast to java.net.URLClassLoader (in module: java.base)
  • Version "9-internal" potentially causes version detection issues, fixed in10b992073acbbd8bb7c10bd0bf32425e2c6962bb 0.9.27-6
  • bootclasspath arg no longer needed, or changed, with modules in project jigsaw, not sure how to build
  • oh, also, JDK 7 no longer in xenial, if it ever was, so will need to pull the bootclasspath jars out of older package to build releases with java 8, so on launchpad we'll have to copy from trusty forward, we can't build natively on xenial+
  • ECDSA unavailable; presumably will be fixed in ubuntu/deb packaging
  • keystore default type now pkcs12, but there is autodetect, so no action needed? see http://openjdk.java.net/jeps/261
  • source/target 1.5 no longer supported, some plugins still have this in build.xml
  • each plugin may have its own issues

comment:2 Changed 2 years ago by zzz

jrobin 1.6.0 font crash

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.font.FreetypeFontScaler.initNativeScaler(Lsun/font/Font2D;IIZI)J+0 java.desktop@9-internal
j  sun.font.FreetypeFontScaler.<init>(Lsun/font/Font2D;IZI)V+26 java.desktop@9-internal
v  ~StubRoutines::call_stub
j  sun.reflect.NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@9-internal
j  sun.reflect.NativeConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+85 java.base@9-internal
J 1203 C1  java.base@9-internal9-internal (9 bytes) @ 0x00007ff24222f79c [0x00007ff24222f6a0+0x00000000000000fc]
J 1542 C1  java.base@9-internal9-internal (73 bytes) @ 0x00007ff2422c57e4 [0x00007ff2422c5480+0x0000000000000364]
j  sun.font.FontScaler.getScaler(Lsun/font/Font2D;IZI)Lsun/font/FontScaler;+39 java.desktop@9-internal
j  sun.font.TrueTypeFont.getScaler()Lsun/font/FontScaler;+21 java.desktop@9-internal
j  sun.font.FileFontStrike.<init>(Lsun/font/FileFont;Lsun/font/FontStrikeDesc;)V+204 java.desktop@9-internal
j  sun.font.FileFont.createStrike(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;+18 java.desktop@9-internal
j  sun.font.Font2D.getStrike(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;+92 java.desktop@9-internal
j  sun.font.Font2D.getStrike(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;+3 java.desktop@9-internal
j  sun.font.CompositeStrike.getStrikeForSlot(I)Lsun/font/PhysicalStrike;+23 java.desktop@9-internal
j  sun.font.CompositeStrike.getStrikeForGlyph(I)Lsun/font/PhysicalStrike;+5 java.desktop@9-internal
j  sun.font.CompositeStrike.getGlyphMetrics(I)Ljava/awt/geom/Point2D$Float;+2 java.desktop@9-internal
j  sun.font.StandardGlyphVector$GlyphStrike.addDefaultGlyphAdvance(ILjava/awt/geom/Point2D$Float;)V+5 java.desktop@9-internal
j  sun.font.StandardGlyphVector.initPositions()V+162 java.desktop@9-internal
j  sun.font.StandardGlyphVector.getLogicalBounds()Ljava/awt/geom/Rectangle2D;+5 java.desktop@9-internal
j  java.awt.Font.getStringBounds([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;+148 java.desktop@9-internal
j  java.awt.Font.getStringBounds(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;+11 java.desktop@9-internal
j  java.awt.Font.getStringBounds(Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;+13 java.desktop@9-internal
j  org.jrobin.graph.ImageWorker.getStringWidth(Ljava/lang/String;Ljava/awt/Font;)D+14
j  org.jrobin.graph.RrdGraph.getFontCharWidth(I)D+15
j  org.jrobin.graph.RrdGraph.getSmallFontCharWidth()D+2
j  org.jrobin.graph.RrdGraph.initializeLimits()V+101
j  org.jrobin.graph.RrdGraph.createGraph()V+62
j  org.jrobin.graph.RrdGraph.<init>(Lorg/jrobin/graph/RrdGraphDef;)V+55
j  net.i2p.router.web.SummaryRenderer.render(Ljava/io/OutputStream;IIZZZZIIZLnet/i2p/router/web/SummaryListener;Ljava/lang/String;)V+1271
j  net.i2p.router.web.SummaryListener.renderPng(Ljava/io/OutputStream;IIZZZZIIZLnet/i2p/router/web/SummaryListener;Ljava/lang/String;)V+49
j  net.i2p.router.web.SummaryListener.renderPng(Ljava/io/OutputStream;IIZZZZIIZ)V+20
j  net.i2p.router.web.StatSummarizer.locked_renderPng(Lnet/i2p/stat/Rate;Ljava/io/OutputStream;IIZZZZIIZ)Z+120
j  net.i2p.router.web.StatSummarizer.renderPng(Lnet/i2p/stat/Rate;Ljava/io/OutputStream;IIZZZZIIZ)Z+32
j  net.i2p.router.web.jsp.viewstat_jsp._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+576
j  org.apache.jasper.runtime.HttpJspBase.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
j  org.eclipse.jetty.servlet.ServletHolder.handle(Lorg/eclipse/jetty/server/Request;Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+217
j  org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+237
j  net.i2p.servlet.filters.XSSFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+13
j  org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+132
j  org.eclipse.jetty.servlet.ServletHandler.doHandle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+200
j  org.eclipse.jetty.server.handler.ScopedHandler.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+25
j  org.eclipse.jetty.security.SecurityHandler.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+540
j  org.eclipse.jetty.server.session.SessionHandler.doHandle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+68
j  org.eclipse.jetty.server.handler.ContextHandler.doHandle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+206
j  org.eclipse.jetty.servlet.ServletHandler.doScope(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+277
j  org.eclipse.jetty.server.session.SessionHandler.doScope(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+233
j  org.eclipse.jetty.server.handler.ContextHandler.doScope(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+437
j  org.eclipse.jetty.server.handler.ScopedHandler.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+13
j  org.eclipse.jetty.server.handler.HandlerWrapper.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+23
j  net.i2p.router.web.LocaleWebAppHandler.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+271
j  org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+399
j  org.eclipse.jetty.server.handler.HandlerCollection.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+42
j  org.eclipse.jetty.server.handler.HandlerWrapper.handle(Ljava/lang/String;Lorg/eclipse/jetty/server/Request;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+23
j  org.eclipse.jetty.server.Server.handle(Lorg/eclipse/jetty/server/AbstractHttpConnection;)V+146
j  org.eclipse.jetty.server.AbstractHttpConnection.handleRequest()V+328
j  org.eclipse.jetty.server.AbstractHttpConnection.headerComplete()V+493
j  org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete()V+4
j  org.eclipse.jetty.http.HttpParser.parseNext()I+2198
j  org.eclipse.jetty.http.HttpParser.parseAvailable()Z+1
j  org.eclipse.jetty.server.AsyncHttpConnection.handle()Lorg/eclipse/jetty/io/Connection;+80
j  org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle()V+10
j  org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run()V+4
j  org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Ljava/lang/Runnable;)V+1
j  org.eclipse.jetty.util.thread.QueuedThreadPool$3.run()V+47
j  java.lang.Thread.run()V+11 java.base@9-internal
v  ~StubRoutines::call_stub

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000

comment:3 Changed 2 years ago by zzz

Swing DTG JVM crash when clicking on toopie, same place, so it isn't just jrobin

Current thread (0x00007fb800279000):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=13939, stack(0x00007fb7cd553000,0x00007fb7cd654000)]

Stack: [0x00007fb7cd553000,0x00007fb7cd654000],  sp=0x00007fb7cd64da60,  free space=1002k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libjava.so+0x1d009]  JNU_GetEnv+0x19
C  [libfontmanager.so+0x33f8e]
C  [libfreetype.so.6+0x14d1b]  FT_Stream_Seek+0x1b

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.font.FreetypeFontScaler.initNativeScaler(Lsun/font/Font2D;IIZI)J+0 java.desktop@9-internal
j  sun.font.FreetypeFontScaler.<init>(Lsun/font/Font2D;IZI)V+26 java.desktop@9-internal
v  ~StubRoutines::call_stub
j  sun.reflect.NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@9-internal
j  sun.reflect.NativeConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+85 java.base@9-internal
J 1478 C1  java.base@9-internal9-internal (9 bytes) @ 0x00007fb89161d11c [0x00007fb89161d020+0x00000000000000fc]
J 1474 C1  java.base@9-internal9-internal (73 bytes) @ 0x00007fb89161c5e4 [0x00007fb89161c280+0x0000000000000364]
j  sun.font.FontScaler.getScaler(Lsun/font/Font2D;IZI)Lsun/font/FontScaler;+39 java.desktop@9-internal
j  sun.font.TrueTypeFont.getScaler()Lsun/font/FontScaler;+21 java.desktop@9-internal
j  sun.font.FileFontStrike.<init>(Lsun/font/FileFont;Lsun/font/FontStrikeDesc;)V+204 java.desktop@9-internal
j  sun.font.FileFont.createStrike(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;+18 java.desktop@9-internal
j  sun.font.Font2D.getStrike(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;+92 java.desktop@9-internal
j  sun.font.Font2D.getStrike(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;+3 java.desktop@9-internal
j  sun.font.CompositeStrike.getStrikeForSlot(I)Lsun/font/PhysicalStrike;+23 java.desktop@9-internal
j  sun.font.CompositeStrike.getFontMetrics()Lsun/font/StrikeMetrics;+31 java.desktop@9-internal
j  sun.font.FontDesignMetrics.initMatrixAndMetrics()V+28 java.desktop@9-internal
j  sun.font.FontDesignMetrics.<init>(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V+62 java.desktop@9-internal
j  sun.font.FontDesignMetrics.getMetrics(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontDesignMetrics;+128 java.desktop@9-internal
j  sun.swing.SwingUtilities2.getFontMetrics(Ljavax/swing/JComponent;Ljava/awt/Font;)Ljava/awt/FontMetrics;+15 java.desktop@9-internal
j  javax.swing.JComponent.getFontMetrics(Ljava/awt/Font;)Ljava/awt/FontMetrics;+2 java.desktop@9-internal
j  sun.swing.MenuItemLayoutHelper.reset(Ljavax/swing/JMenuItem;Ljavax/swing/Icon;Ljavax/swing/Icon;Ljava/awt/Rectangle;ILjava/lang/String;ZLjava/awt/Font;Ljava/awt/Font;ZLjava/lang/String;)V+77 java.desktop@9-internal
j  sun.swing.MenuItemLayoutHelper.<init>(Ljavax/swing/JMenuItem;Ljavax/swing/Icon;Ljavax/swing/Icon;Ljava/awt/Rectangle;ILjava/lang/String;ZLjava/awt/Font;Ljava/awt/Font;ZLjava/lang/String;)V+24 java.desktop@9-internal
j  javax.swing.plaf.basic.BasicMenuItemUI.getPreferredMenuItemSize(Ljavax/swing/JComponent;Ljavax/swing/Icon;Ljavax/swing/Icon;I)Ljava/awt/Dimension;+48 java.desktop@9-internal
j  javax.swing.plaf.basic.BasicMenuItemUI.getPreferredSize(Ljavax/swing/JComponent;)Ljava/awt/Dimension;+14 java.desktop@9-internal
j  javax.swing.JComponent.getPreferredSize()Ljava/awt/Dimension;+26 java.desktop@9-internal
j  javax.swing.BoxLayout.checkRequests()V+111 java.desktop@9-internal
j  javax.swing.BoxLayout.layoutContainer(Ljava/awt/Container;)V+127 java.desktop@9-internal
j  java.awt.Container.layout()V+11 java.desktop@9-internal
j  java.awt.Container.doLayout()V+1 java.desktop@9-internal
j  java.awt.Container.validateTree()V+47 java.desktop@9-internal
j  java.awt.Container.validateTree()V+110 java.desktop@9-internal
j  java.awt.Container.validateTree()V+110 java.desktop@9-internal
j  java.awt.Container.validateTree()V+110 java.desktop@9-internal
j  java.awt.Container.validateTree()V+110 java.desktop@9-internal
j  java.awt.Container.validate()V+60 java.desktop@9-internal
j  java.awt.Container.validateUnconditionally()V+14 java.desktop@9-internal
j  java.awt.Window.show()V+12 java.desktop@9-internal
j  java.awt.Component.show(Z)V+5 java.desktop@9-internal
j  java.awt.Component.setVisible(Z)V+2 java.desktop@9-internal
j  java.awt.Window.setVisible(Z)V+2 java.desktop@9-internal
j  net.i2p.desktopgui.TrayManager$2.handle(Ljava/awt/event/MouseEvent;)V+30
j  net.i2p.desktopgui.TrayManager$2.mousePressed(Ljava/awt/event/MouseEvent;)V+2
j  java.awt.TrayIcon.processMouseEvent(Ljava/awt/event/MouseEvent;)V+42 java.desktop@9-internal
j  java.awt.TrayIcon.processEvent(Ljava/awt/AWTEvent;)V+45 java.desktop@9-internal
j  java.awt.TrayIcon.dispatchEvent(Ljava/awt/AWTEvent;)V+13 java.desktop@9-internal
j  java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+81 java.desktop@9-internal
j  java.awt.EventQueue.access$500(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3 java.desktop@9-internal
j  java.awt.EventQueue$3.run()Ljava/lang/Void;+32 java.desktop@9-internal
j  java.awt.EventQueue$3.run()Ljava/lang/Object;+1 java.desktop@9-internal
v  ~StubRoutines::call_stub
j  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0 java.base@9-internal
j  java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 java.base@9-internal
j  java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+6 java.base@9-internal
j  java.awt.EventQueue$4.run()Ljava/lang/Void;+11 java.desktop@9-internal
j  java.awt.EventQueue$4.run()Ljava/lang/Object;+1 java.desktop@9-internal
v  ~StubRoutines::call_stub
j  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0 java.base@9-internal
j  java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 java.base@9-internal
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+73 java.desktop@9-internal
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+183 java.desktop@9-internal
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 java.desktop@9-internal
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 java.desktop@9-internal
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 java.desktop@9-internal
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 java.desktop@9-internal
j  java.awt.EventDispatchThread.run()V+9 java.desktop@9-internal
v  ~StubRoutines::call_stub

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000

comment:4 Changed 2 years ago by zzz

Classloader cast issue also affects runtime. In /jars see stack trace below. May also affect plugins, see PluginStarter? and WebAppConfiguration?.

 Error 500: /jars Server Error

java.lang.ClassCastException: jdk.internal.loader.ClassLoaders$AppClassLoader (in module: java.base) cannot be cast to java.net.URLClassLoader (in module: java.base)
     at net.i2p.router.web.FileDumpHelper.getFileSummary(FileDumpHelper.java:36)
     at net.i2p.router.web.jsp.jars_jsp._jspService(jars_jsp.java:357)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1507)
     at net.i2p.servlet.filters.XSSFilter.doFilter(XSSFilter.java:28)
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1487)
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:427)
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
     at net.i2p.router.web.LocaleWebAppHandler.handle(LocaleWebAppHandler.java:101)
     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
     at org.eclipse.jetty.server.Server.handle(Server.java:370)
     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
     at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:973)
     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1035)
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:641)
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)
     at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
     at java.lang.Thread.run(java.base@9-internal/Thread.java:804)

comment:5 Changed 2 years ago by zzz

URLClassLoader runtime cast fixed (mostly?) in f5ced188c246a3f6c1264c4d5b8702950865871e 0.9.27-6

Same issue in jsp compiler (from OP) unfixed

comment:6 Changed 2 years ago by zzz

build targets with <script> including "bump" fail with:

Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager?)

Requires fix in Ant 1.9.7 April 2016, xenial currently has 1.9.6 but yakkety has 1.9.7

https://bz.apache.org/bugzilla/show_bug.cgi?id=58271

comment:7 Changed 2 years ago by zzz

Wiki page updated with Java 9 info http://trac.i2p2.i2p/wiki/Crypto/ECDSA

Compilation works with Tomcat 8.5.6, but that introduces other issues. Target 0.9.29

comment:8 Changed 2 years ago by zzz

Tomcat 8 (EL 3.0) syntax error in susidns fixed in 073eeaebb80ca7e0b84f7d5451bb13ba3d3d35f1 0.9.27-7

See also Deb/Ubuntu? issues in #1818

comment:9 Changed 2 years ago by zzz

  • Milestone changed from 0.9.28 to 0.9.29

verified 'ant bump' works with ant 1.9.7 in yakkety (comment 6 above)

comment:10 Changed 2 years ago by zzz

won't even start on current yakkety java 9:

> java -jar build/i2p.jar cryptocheck
Exception in thread "main" java.lang.ExceptionInInitializerError
	at javax.crypto.JceSecurityManager.<clinit>(java.base@9-Ubuntu/JceSecurityManager.java:65)
	at javax.crypto.Cipher.getConfiguredPermission(java.base@9-Ubuntu/Cipher.java:2595)
	at javax.crypto.Cipher.getMaxAllowedKeyLength(java.base@9-Ubuntu/Cipher.java:2619)
	at net.i2p.crypto.CryptoCheck.<clinit>(CryptoCheck.java:19)
	at java.lang.Class.forName0(java.base@9-Ubuntu/Native Method)
	at java.lang.Class.forName(java.base@9-Ubuntu/Class.java:374)
	at net.i2p.util.CommandLine.exec(CommandLine.java:66)
	at net.i2p.util.CommandLine.main(CommandLine.java:51)
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
	at javax.crypto.JceSecurity.<clinit>(java.base@9-Ubuntu/JceSecurity.java:91)
	... 8 more
Caused by: java.lang.NullPointerException
	at sun.nio.fs.UnixPath.normalizeAndCheck(java.base@9-Ubuntu/UnixPath.java:75)
	at sun.nio.fs.UnixPath.<init>(java.base@9-Ubuntu/UnixPath.java:69)
	at sun.nio.fs.UnixFileSystem.getPath(java.base@9-Ubuntu/UnixFileSystem.java:280)
	at java.nio.file.Paths.get(java.base@9-Ubuntu/Paths.java:84)
	at javax.crypto.JceSecurity.setupJurisdictionPolicies(java.base@9-Ubuntu/JceSecurity.java:254)
	at javax.crypto.JceSecurity.access$000(java.base@9-Ubuntu/JceSecurity.java:49)
	at javax.crypto.JceSecurity$1.run(java.base@9-Ubuntu/JceSecurity.java:82)
	at javax.crypto.JceSecurity$1.run(java.base@9-Ubuntu/JceSecurity.java:79)
	at java.security.AccessController.doPrivileged(java.base@9-Ubuntu/Native Method)
	at javax.crypto.JceSecurity.<clinit>(java.base@9-Ubuntu/JceSecurity.java:78)
	... 8 more

> java -version
openjdk version "9-Ubuntu"
OpenJDK Runtime Environment (build 9-Ubuntu+0-9b134-2ubuntu1)
OpenJDK 64-Bit Server VM (build 9-Ubuntu+0-9b134-2ubuntu1, mixed mode)

not a bug in UnixPath? so must be higher up:
https://bugs.openjdk.java.net/browse/JDK-8133521

Might be related to this bug which is fixed in b150: https://bugs.openjdk.java.net/browse/JDK-8165751

comment:11 Changed 2 years ago by zzz

workaround for above in 5f24c316c19c94af481fe22338f65bd40d566895 to be 0.9.28-4, router will now run, but JCE still hosed in b134 yakkety, can't init an SSLContext (same NPE as above) so reseeding and SSL console won't work.

comment:12 Changed 23 months ago by zzz

Add a subticket #1935.

comment:13 Changed 22 months ago by zzz

  • Milestone changed from 0.9.29 to 0.9.30

Confirmed JSP compiles (6th bullet in comment 1 above) fixed using Tomcat 8 in my jetty9 branch.

Yakkety is still on b134. Current EA is b159 but haven't tested it. https://jdk9.java.net/download/

While this is mostly done, bumping milestone to 0.9.30 in case there's more to do after we see what happens with ECDSA and SSL.

With Jetty logging set to WARN, I get:

java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurityManager
java.lang.NoClassDefFoundError: Could not initialize class sun.security.ssl.SSLContextImpl$TLSContext

these could be clues.

comment:14 Changed 21 months ago by zzz

Jetty/Tomcat? issue fixed in 0.9.29-4
Remaining issue is ECDSA/SSL, which may be a policy file issue?

comment:15 Changed 19 months ago by zzz

  • Milestone changed from 0.9.30 to 0.9.31

updated to zesty with openjdk 9 b161, no change on ECDSA and SSL issues

comment:16 Changed 13 months ago by zzz

  • Milestone changed from 0.9.31 to 0.9.30
  • Resolution set to fixed
  • Status changed from accepted to closed

All remaining issues, including ECDSA/SSL, appear to be fixed in Ubuntu Artful 17.10 with openjdk 9b181

Closing and setting milestone back to 0.9.30, when we made the last change on our side.

Note: See TracTickets for help on using tickets.