Opened 6 years ago

Closed 6 years ago

#740 closed defect (not a bug)

ip2 router down

Reported by: guest Owned by:
Priority: major Milestone: 0.9.3
Component: apps/console Version: 0.9.2
Keywords: Cc: zab@…
Parent Tickets:

Description (last modified by zzz)

Erreur 500: /helpCould not initialize class sun.text.normalizer.NormalizerImpl

java.lang.NoClassDefFoundError: Could not initialize class sun.text.normalizer.NormalizerImpl 
     at java.text.RBTableBuilder.build(Unknown Source) 
     at java.text.RBCollationTables.<init>(Unknown Source) 
     at java.text.RuleBasedCollator.<init>(Unknown Source) 
     at java.text.Collator.getInstance(Unknown Source) 
     at java.text.Collator.getInstance(Unknown Source) 
     at net.i2p.router.web.SummaryHelper$AlphaComparator.compare(SummaryHelper.java:467) 
     at net.i2p.router.web.SummaryHelper$AlphaComparator.compare(SummaryHelper.java:458) 
     at java.util.Arrays.mergeSort(Unknown Source) 
     at java.util.Arrays.sort(Unknown Source) 
     at java.util.Collections.sort(Unknown Source) 
     at net.i2p.router.web.SummaryHelper.getDestinations(SummaryHelper.java:413) 
     at net.i2p.router.web.SummaryBarRenderer.renderDestinationsHTML(SummaryBarRenderer.java:599) 
     at net.i2p.router.web.SummaryBarRenderer.renderSummaryHTML(SummaryBarRenderer.java:129) 
     at net.i2p.router.web.SummaryHelper.renderSummaryBar(SummaryHelper.java:771) 
     at net.i2p.router.web.jsp.help_005ffr_jsp._jspService(help_005ffr_jsp.java:275) 
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 
     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) 
     at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) 
     at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) 
     at net.i2p.router.web.LocaleWebAppHandler.handle(LocaleWebAppHandler.java:93) 
     at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) 
     at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 
     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
     at org.mortbay.jetty.Server.handle(Server.java:326) 
     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
     at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) 
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) 
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
     at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
    
Version d'I2P & environnement d'exécution

I2P version: 0.9.1-0
Java version: Sun Microsystems Inc.1.6.0_31 (Java(TM) SE Runtime Environment1.6.0_31-b05)
Wrapper version: 3.5.14
Server version: 6.1.26
Platform: Windows 7x866.1
Processor: Core i3 or i5/i7 mobile (32nm) (corei)
Jbigi: Locally optimized native BigInteger library loaded from file
Encoding: Cp1252
Charset: windows-1252

Subtickets

Change History (4)

comment:1 Changed 6 years ago by zzz

  • Component changed from unspecified to apps/console
  • Description modified (diff)
  • Priority changed from minor to major

Hmm. The error is down in the Java library. From a quick Google search, the only solution I can find is reinstalling Java. But your Java is recent.

We can catch the error but that seems like a big hack. Will keep researching.

comment:2 Changed 6 years ago by zzz

To elaborate on the proposed solution, we would catch the Error and fall back to String.compareTo(). Or have a centralized static test, e.g.:

static final boolean collatorGood;
try {
    Collator.getInstance();
    collatorGood = true;
} catch (Throwable t) {
    collatorGood = false;
}
...

    if (collatorGood)
        Collator.getInstance.compare(...)
    else
        l.compareTo(r);

comment:3 Changed 6 years ago by zab

  • Cc zab@… added

NoClassDefFound usually means corrupt installation. Add workarounds only if a clean reinstall doesn't fix it, but windows users should make sure they get their java from www.java.com and not any third-party packaging/deployment/update service.

comment:4 Changed 6 years ago by zzz

  • Resolution set to not a bug
  • Status changed from new to closed

Yeah, thanks zab. For a minute there I liked my workaround (who doesn't love a good hack?) but it's really bad to start working around faulty JVM installations.

@OP, sorry, please reinstall Java, from www.java.com.

Note: See TracTickets for help on using tickets.