Re: ORBacus: Had someone got such error before?
Dion Picco <[email protected]>
| Newsgroups | gmane.comp.corba.orbacus |
|---|---|
| Organization | IONA | Making Software Work Together TM |
| Message-ID | <[email protected]> |
Hi Vladmir, On Wed, Dec 01, 2004 at 01:25:31PM +0100, Vladimir Romanovski wrote: > Hi! > > We are using ORBacus 4.0.5 with JTC 2.0 on Red Hat Linux. > Our server crashed in InputStreamImpl::read_string() . > The gdb analysis showed us that coming in stream has an error: > > (gdb) x/14c 0x8342344 > 0x8342344: -1 'Ъ' -1 'Ъ' -1 'Ъ' -1 'Ъ' 103 'g' 97 'a' 108 'l' 108 'l' > 0x834234c: 109 'm' 97 'a' 110 'n' 110 'n' 100 'd' 0 '\0' > > The string 'gallmannd' is preciding with -1 . As a result > InputStreamImpl::read_string() crashed trying to interpret that -1 as a > lenght > of the string. > > We get such crashes very seldom. Did anyone get the same problem before? > How to reproduce that error? How to make CORBA client send such error > stream? > > Many thanks! > V.Romanovski In CORBA as you know, a string is marshaled as a ULong followed by that number of octets. In your case, the string gallmannd should be prefixed with the number 10. Why it is set to 0xffffffff I don't know. Are you using Orbacus as both a client and a server? If so then I'd suggest putting a breakpoint in the OutputStreamImpl::write_string() method to see what it actually prefixes the string with before transmission. This might give you a clue as to what is taking place. Class OutputStreamImpl is found in Stream.cpp located in <ORBACUS_SRC>/ob/src/library/ Cheers. -- Dion Picco, Software Engineer IONA Technologies Inc. Team Orbacus - Your CORBA Source mailto:[email protected] http://www.orbacus.com _______________________________________________ OB-Users Mailing List - [email protected] http://mail.ooc.nf.ca/mailman/listinfo/ob-users Visit our support FAQ before you send a message. http://www.orbacus.com/faq/support.html