| Summary: | GIOP 1.1 - Fragmented Messages | ||
|---|---|---|---|
| Product: | JacORB | Reporter: | Christian Häßelbarth <chaesselbarth> |
| Component: | ORB | Assignee: | Mailinglist to track bugs <jacorb-bugs> |
| Status: | REOPENED --- | ||
| Severity: | normal | CC: | jacorb, jacorb |
| Priority: | P3 | ||
| Version: | 3.2 | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: |
original capture
capture fixed original logfile logfile fixed |
||
|
Description
Christian Häßelbarth
2013-05-24 13:17:07 UTC
Created attachment 412 [details]
original capture
Created attachment 413 [details]
capture fixed
Created attachment 414 [details]
original logfile
Created attachment 415 [details]
logfile fixed
That would be great thanks. Either a plain text patch file here or you could send a pull request against https://github.com/JacORB/JacORB/ I just send a pull request against https://github.com/JacORB/JacORB/ I have commented on the pull request. Merged pull request - thanks! Hi all, We tried out the GIOP 1.1 fragmentation, but ran into org.omg.CORBA.MARSHAL / org.omg.CORBA.BAD_PARAM exceptions. It looks like there is no handling for the fact that in GIOP 1.1, the data in a fragment is marshaled with alignment relative to its position in the fragment, not relative to its position in the whole unfragmented message. Currently in org.jacorb.orb.CDRInputStream, the alignment does seem to be done relative to the position in the whole unfragmented message (the buffer member seems to contain the whole unfragmented message). As a consequence, it's possible that the wrong data is read. The individual fragments (or at least their sizes) don't seem to be available anymore in CDRInputStream, which makes it not so straightforward to fix? Probably additional handling would be needed in org.jacorb.orb.CDROutputStream as well? Could my understanding be correct? Thanks BZ950 : Revert 4d2cb9335fb3f5735b5bbc75133a4ccf10cfdffa / d608b9cd11a87856cfab07872bc23356ea20234d for JacORB 3.3 I'm still working on this issue. |