Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.1 Product Version 3.2.1
  Product Build
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


Steps To Reproduce
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