Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003452 [Hessian] minor always 04-20-09 09:04 06-08-09 14:05
Reporter ferg View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 3.2.1
Summary 0003452: Hessian debug with 1.0
Description (rep by Rick Mann)

My Hessian servlet throws an exception on what I think is a valid
request. This was working against resin 3.1.x, but doesn't work
against 3.2.1. The exception is:

[04-17 23:39:23.230] {http--8080-3} FINER
(com.caucho.server.dispatch.ServletConfigImpl)
Servlet[SatDBHessianServlet] active
[04-17 23:39:23.259] {http--8080-3} FINE
(com.caucho.hessian.server.HessianServlet) call 1.0
[04-17 23:39:23.263] {http--8080-3} FINE
(com.caucho.hessian.server.HessianServlet) method "getMissionList"
[04-17 23:39:23.263] {http--8080-3} FINE
(com.caucho.hessian.server.HessianServlet) "6E53A5FA-F7DB-580A-
AA41-7888A01AB531"
[04-17 23:39:23.266] {http--8080-3} WARNING
(com.caucho.server.webapp.ErrorPageManager)
java.lang.IllegalStateException: 4 is an unknown object type
[04-17 23:39:23.266] {http--8080-3} at
com.caucho.hessian.io.HessianDebugState
$ObjectState.<init>(HessianDebugState.java:1338)



Below are the bytes of my Hessian request. There is no byte with value
"4" anywhere. Any ideas? TIA.

63 c call
    0100

6d m method "getMissionList"
    000e 6765744d697373696f6e4c697374
    
53 S string "6E53A5FA-F7DB-580A-AA41-7888A01AB531"
    0024
36453533413546412d463744422d353830412d414134312d373838384130314142353331
    
53 S string "MissionClock"
    000c 4d697373696f6e436c6f636b

64 d date
    000000e3c7a73400
    
7a z end


Additional Information
Attached Files

- Relationships

- Notes
(0004062)
rjenks
06-08-09 08:47

I had this same problem. It appears to be a bug when using HessianDebugOutputStream. I was able to work around the issue by turning off logging in HessianProxy.

final Logger hessianLogger = Logger.getLogger(HessianProxy.class.getName());
hessianLogger.setLevel(Level.OFF);

The bug seems to depend on the function parameters being used. It seems to be an issue with characters 0x60-0x6F.
 
(0004064)
ferg
06-08-09 14:04

hessian/39k0
 
(0004065)
ferg
06-08-09 14:05

The specific issue is a Hessian 1.0 vs Hessian 2.0 for the bytecode 'd'. The HessianDebugState wasn't properly reading Hessian 1.0 in that case.
 

- Issue History
Date Modified Username Field Change
04-20-09 09:04 ferg New Issue
06-08-09 08:47 rjenks Note Added: 0004062
06-08-09 14:04 ferg Note Added: 0004064
06-08-09 14:04 ferg Assigned To  => ferg
06-08-09 14:04 ferg Status new => closed
06-08-09 14:04 ferg Resolution open => fixed
06-08-09 14:04 ferg Fixed in Version  => 4.0.1
06-08-09 14:05 ferg Note Added: 0004065


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
33 total queries executed.
28 unique queries executed.
Powered by Mantis Bugtracker