Morning Bob-

 

session should never be null..this is a bug

 

create an account here

https://issues.apache.org/bugzilla/createaccount.cgi


and file the bug report

 

Many thanks for discovering this bug and helping us to improve the product


Martin 
______________________________________________ 

  





From: bob.dere...@thingworx.com
To: users@tomcat.apache.org
Subject: possible tomcat 7.0.47 jsr-356 bug: NULL pointer being thrown when 
DecodeException is caught in PojoMessageHandlerWholeBase<T>.onMessage
Date: Sat, 19 Oct 2013 12:46:05 +0000







I am testing what happens when Encode/Decode Exceptions occur during JSR-356 
communication and found that in the following code in onMessage, the 
((WsSession)session) is NULL.  As a result, the actual DecodeException (cause) 
is lost.
 
       // Can this message be decoded?
        Object payload;
        try {
            payload = decode(message);
        } catch (DecodeException de) {
            ((WsSession) session).getLocal().onError(session, de);
            return;
        }
 
 
Tracing this further up the stack, I found that Util.getMessageHandlers is 
initializing it and passing NULL in for the session:
 
            if (decoderMatch.getTextDecoders().size() > 0) {
                MessageHandlerResult result = new MessageHandlerResult(
                        new PojoMessageHandlerWholeText(listener, m, null,
                                endpointConfig,
                                decoderMatch.getTextDecoders(), new Object[1],
                                0, false, -1, -1),
                        MessageHandlerResultType.TEXT);
                results.add(result);
            }
 
Is this a bug, or do I need to do something else to get this internal session 
initialize - in addition to calling: addMessageHandler(this) in the onOpen of 
my Endpoint-derived class?
 
Thanks,
 
 
Bob DeRemer
Senior Director, Architecture and Development
 

http://www.thingworx.com
Skype: bob.deremer.thingworx
O: 610.594.6200 x812
M: 717.881.3986
                                          

Reply via email to