Opened 4 years ago

Closed 4 years ago

#1644 closed defect (fixed)

New version of Bote (2015_08_21) throws an error (Java 1.6)

Reported by: whonose2 Owned by: str4d
Priority: minor Milestone: 0.9.23
Component: apps/plugins Version: 0.9.21
Keywords: I2P-Bote Cc:
Parent Tickets:

Description

I2P version: 0.9.21-0
Java version: Sun Microsystems Inc. 1.6.0_36 (OpenJDK Runtime Environment 1.6.0_36-b36)
Wrapper version: 3.5.15
Server version: 8.1.17.v20150415
Servlet version: Jasper JSP 2.1 Engine
Platform: Linux i386 3.2.0-23-generic
Processor: Athlon 5350 APU (athlon64)
Jbigi: Locally optimized native BigInteger? library loaded from file
Encoding: UTF-8
Charset: UTF-8

Error is
HTTP ERROR 500

Problem accessing /i2pbote/index.jsp. Reason:

Server Error

Caused by:

java.lang.IllegalArgumentException?: Illegal pattern character 'X'

at java.text.SimpleDateFormat?.compile(SimpleDateFormat?.java:769)
at java.text.SimpleDateFormat?.applyPattern(SimpleDateFormat?.java:2023)
at org.apache.taglibs.standard.tag.common.fmt.FormatDateSupport?.doEndTag(FormatDateSupport?.java:164)
at org.apache.jsp.tag.web.printDate_tag._jspx_meth_fmt_005fformatDate_005f0(printDate_tag.java:254)
at org.apache.jsp.tag.web.printDate_tag._jspx_meth_c_005fif_005f0(printDate_tag.java:170)
at org.apache.jsp.tag.web.printDate_tag.doTag(printDate_tag.java:130)
at i2p.bote.jsp.folder_jsp._jspx_meth_ib_005fprintDate_005f0(folder_jsp.java:2826)
at i2p.bote.jsp.folder_jsp._jspx_meth_c_005fforEach_005f0(folder_jsp.java:1941)
at i2p.bote.jsp.folder_jsp._jspx_meth_ib_005frequirePassword_005f0(folder_jsp.java:346)
at i2p.bote.jsp.folder_jsp._jspService(folder_jsp.java:132)
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?.doHandle(ServletHandler?.java:503)
at org.eclipse.jetty.server.handler.ScopedHandler?.handle(ScopedHandler?.java:137)
at org.eclipse.jetty.security.SecurityHandler?.handle(SecurityHandler?.java:575)
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:429)
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.Dispatcher.forward(Dispatcher.java:276)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
at org.apache.jasper.runtime.PageContextImpl?.doForward(PageContextImpl?.java:712)
at org.apache.jasper.runtime.PageContextImpl?.forward(PageContextImpl?.java:683)
at i2p.bote.jsp.index_jsp._jspService(index_jsp.java:55)
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:1496)
at i2p.bote.web.CharsetFilter?.doFilter(CharsetFilter?.java:38)
at org.eclipse.jetty.servlet.ServletHandler?$CachedChain?.doFilter(ServletHandler?.java:1484)
at net.i2p.servlet.filters.XSSFilter.doFilter(XSSFilter.java:28)
at org.eclipse.jetty.servlet.ServletHandler?$CachedChain?.doFilter(ServletHandler?.java:1476)
at org.eclipse.jetty.servlet.ServletHandler?.doHandle(ServletHandler?.java:501)
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:429)
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.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:971)
at org.eclipse.jetty.server.AbstractHttpConnection?$RequestHandler?.headerComplete(AbstractHttpConnection?.java:1033)
at org.eclipse.jetty.http.HttpParser?.parseNext(HttpParser?.java:644)
at org.eclipse.jetty.http.HttpParser?.parseAvailable(HttpParser?.java:235)
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(Thread.java:701)

Subtickets

Change History (4)

comment:1 Changed 4 years ago by zzz

  • Component changed from unspecified to apps/plugins
  • Owner set to str4d
  • Status changed from new to assigned

Same issue as str4d previously fixed in net.i2p.router.news.RFC3339Date ?

comment:2 Changed 4 years ago by str4d

I knew I'd seen it somewhere before. Thanks for the reminder :) Technically though you had already fixed it by including Java 7 checks; I just extended them to Android (its SDF doesn't support XXX at any API).

The cause of the error is the X at the end of the pattern string in src/main/webapp/WEB-INF/tags/printDate.tag used to fill the HTML5 <time> element's datetime attribute. Surrounding it with a Java 7 check (and providing an alternative for pre-Java 7) should fix the error.

comment:3 Changed 4 years ago by str4d

  • Keywords I2P-Bote added; Bote removed

comment:4 Changed 4 years ago by str4d

  • Milestone changed from undecided to 0.9.23
  • Resolution set to fixed
  • Status changed from assigned to closed

Fixed in 0d6505d2805dff9774d816a899b6463074057c15.

Note: See TracTickets for help on using tickets.