Hello list,
we have compiled the following interface with DICE 2.2.9:
UInt32 genBuf( [out, size_is(*bufLen), max_is(MAX_BUFFER_SIZE)] UInt8** buf, [out] UInt32* bufLen, [out, size_is(*buf2Len), max_is(MAX_BUFFER_SIZE)] UInt8** buf2, [out] UInt32* buf2Len);
UInt32 is defined as unsigned long, UInt8 as unsigned char, and MAX_BUFFER_SIZE is 4096.
DICE options are -ftrace-server=printf -ftrace-client=printf -fforce-corba-alloc -P-DRAM_BASE=0x0 -P-DUSE_DIETLIBC=y -P-DSYSTEM_x86_l4v2 -P-DARCH_x86 -P-DCPUTYPE_ -P-DL4API_l4v2 -template -Bpia32 -Biv2 -BmC
Running the generated stubs we noticed that ~0.89% of the IPC transactions fail. In such a case the parameters passed to the server still contain their initialization values on return. The client trace says "ipc error c0" and the server trace says "DICE_NO_REPLY".
We would be happy about some hints what's going wrong here...
Michael