[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | ObjectBroker - BEA Systems' CORBA |
Notice: | See note 3 for kits; note 5 for training; note 1134 for releases |
Moderator: | TLE::PARODI d |
|
Created: | Tue Jul 11 1989 |
Last Modified: | Thu Jun 05 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 1413 |
Total number of notes: | 6391 |
1364.0. "Marshalling error for long sequence?" by TAV02::NITSAN (One side will make you larger) Sun Feb 09 1997 12:38
A customer has ObjectBroker 2.6 with Windows 95 client talking to
a VAX/OpenVMS server. The server is a specific instance (unshared).
The client application on the PC attempts to pass a "sequence of
strings" as an argument to a method on the server. Each string in
the sequence is of length 80.
Whenever the sequence is of 16 lines or less, everything seems to
work fine. But, when the sequence is longer than 16 lines they get
the following error on the PC (client) side:
OBB_INV_MRSHERR,
internal software error occurred while marshalling data
... Please submit an SPR.
In one occasion (not reproducible) they also got the message:
OBB_INV_MRSHEXCBUF, exceeded marshalling buffer ...
On the PC they use a Visual Basic program which calls OBB via
a C/C++ layer. They noticed the following strange behavior in
their program:
- If/when they initialize the above sequence to more than
16 lines, but actually use less, they already get the above
error.
- If/when they allocate exactly 17 lines, then the client
crashes even before returning the bad status from OBB.
Of-ocurse this may suggest some bug in the application, or maybe
shed some light on some other probable cause of the problem.
Any input is welcome,
-- Thank you,
-- Nitsan
T.R | Title | User | Personal Name | Date | Lines |
---|
1364.1 | | REQUE::BOWER | Peter Bower, ObjectBroker | Mon Feb 10 1997 08:23 | 7 |
| Can you post the idl for the operation so we can see the
exact signature ?
The problem is that OBB marshalling walks the input arguments to
determine the length of the buffer in which to marshall the data. It
appears in this case that the calculation is incorrect.
|