[opencms-dev] Applet upload bug on WebSphere 6.0
Chirouze Olivier
olivier.chirouze at volvo.com
Thu Jun 12 18:28:44 CEST 2008
Hi list.
I finally managed to install, run, and debug OpenCms 7.0.4 on WebSphere 6.0.
It seems the "applet upload bug" is not related to Oracle but to WebSphere. I reproduced the bug locally, connected to mysql.
Here's the technical part:
It seems to be linked with JSESSION ID, as the exception is thrown when calling getSessionInfo(). The value throws an exception when trying to get Sessino information. The value used in OpenCms code (constructor of class CmsUUID, parameter uuid) was : lpILkdTn8JRnlRPijS-7-Sk. That value threw a NumberFormatException (it is not, indeed, a 36-char value)
Here's a screenshot of my firefox cookie:
<<Picture (Device Independent Bitmap)>>
The exception was thrown the first time I a CmsUUID was built, after I clicked on "choose" (in the applet). The whole debug track is:
CmsUUID.<init>(String) line: 130
CmsSessionManager.getSessionUUID(String) line: 467
CmsSessionManager.getSessionInfo(String) line: 226
CmsSessionManager.getSessionInfo(HttpServletRequest) line: 191
OpenCmsCore.initCmsObjectFromSession(HttpServletRequest) line: 869
OpenCmsCore.initCmsObject(HttpServletRequest, HttpServletResponse) line: 2066
OpenCmsCore.showResource(HttpServletRequest, HttpServletResponse) line: 1489
OpenCmsServlet.doGet(HttpServletRequest, HttpServletResponse) line: 152
OpenCmsServlet.doPost(HttpServletRequest, HttpServletResponse) line: 164
OpenCmsServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 763
OpenCmsServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 856
ServletWrapper.service(ServletRequest, ServletResponse, WebAppServletInvocationEvent) line: 1694
ServletWrapper.handleRequest(ServletRequest, ServletResponse) line: 823
CacheServletWrapper.handleRequest(ServletRequest, ServletResponse) line: 90
WebContainer.handleRequest(IRequest, IResponse) line: 1936
WCChannelLink.ready(VirtualConnection) line: 116
HttpInboundLink.handleDiscrimination() line: 434
HttpInboundLink.handleNewInformation() line: 373
HttpInboundLink.ready(VirtualConnection) line: 253
NewConnectionInitialReadCallback.sendToDiscriminaters(VirtualConnection, TCPReadRequestContext, boolean) line: 207
NewConnectionInitialReadCallback.complete(VirtualConnection, TCPReadRequestContext) line: 109
WorkQueueManager.requestComplete(TCPBaseRequestContext, IOException) line: 566
WorkQueueManager.attemptIO(TCPBaseRequestContext, boolean) line: 619
WorkQueueManager.workerRun(TCPBaseRequestContext, IOException) line: 952
WorkQueueManager$Worker.run() line: 1039
ThreadPool$Worker.run() line: 1475
The method where the exception is catched is:
protected void showResource(HttpServletRequest req, HttpServletResponse res) {
CmsObject cms = null;
try {
cms = initCmsObject(req, res);
// user is initialized, now deliver the requested resource
CmsResource resource = initResource(cms, cms.getRequestContext().getUri(), req, res);
if (resource != null) {
// a file was read, go on process it
m_resourceManager.loadResource(cms, resource, req, res);
m_sessionManager.updateSessionInfo(cms, req);
}
} catch (Throwable t) {
errorHandling(cms, req, res, t);
}
}
The exception and backtrace are:
java.lang.NumberFormatException: UUID has to be represented by the standard 36-char representation
class org.safehaus.uuid.UUID
class org.opencms.util.CmsUUID
class org.opencms.main.CmsSessionManager
class org.opencms.main.CmsSessionManager
class org.opencms.main.CmsSessionManager
class org.opencms.main.OpenCmsCore
class org.opencms.main.OpenCmsCore
class org.opencms.main.OpenCmsCore
class org.opencms.main.OpenCmsServlet
class org.opencms.main.OpenCmsServlet
class javax.servlet.http.HttpServlet
class javax.servlet.http.HttpServlet
class com.ibm.ws.webcontainer.servlet.ServletWrapper
class com.ibm.ws.webcontainer.servlet.ServletWrapper
class com.ibm.ws.webcontainer.servlet.CacheServletWrapper
class com.ibm.ws.webcontainer.WebContainer
class com.ibm.ws.webcontainer.channel.WCChannelLink
class com.ibm.ws.http.channel.inbound.impl.HttpInboundLink
class com.ibm.ws.http.channel.inbound.impl.HttpInboundLink
class com.ibm.ws.http.channel.inbound.impl.HttpInboundLink
class com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback
class com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback
class com.ibm.ws.tcp.channel.impl.WorkQueueManager
class com.ibm.ws.tcp.channel.impl.WorkQueueManager
class com.ibm.ws.tcp.channel.impl.WorkQueueManager
class com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker
class com.ibm.ws.util.ThreadPool$Worker
I don't know why this happens here and not elsewhere. Other values for uuid I saw where URLs, and other strange values like c7a2e451-11b7-11db-91cd-fdbae480bac9 or c7a79f4c-11b7-11db-91cd-fdbae480bac9 or even 00000000-0000-0000-0000-000000000000: they passed without error (but all had the same pattern). Only that specific JSESSIONID value made it crash.
So... will that help someone fix it?
I'm available for some more tests: everything is now setup on my PC.
Thanks
Olivier
Olivier CHIROUZE
I&0 Infrastructure
Volvo Information Technology
402 avenue Charles de Gaulle * phone: +33 (0)4.72.96.89.39
API: VNX 0A0 0 02 6 telecopy: +33(0)4.72.96.76.80
69635 VĂ©nissieux Cedex - France * olivier.chirouze at volvo.com <mailto:olivier.chirouze at external.renault-trucks.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20080612/88de9447/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ole0.bmp
Type: image/bmp
Size: 69318 bytes
Desc: Picture (Device Independent Bitmap)
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20080612/88de9447/attachment.bin>
More information about the opencms-dev
mailing list