Ping-Pong Example Asserts PreviousNext
Data Distribution Service (DDS) Forum > DDS Technical Forum >
Next message Kisalay Ranjan  posted on Monday, August 09, 2010 - 03:31 pm

I have installed ospl on my ubuntu with 2.6.24-27 kernel.

I was trying to run the ping pong example but i found it asserts for block-count 100000.

The stack-trace is:

(gdb) r 100000 100 m PongRead PongWrite
Starting program: /home/kranjan/OpenSplice/examples/dcps/C++/SAC/exec/x86.linux2.6-dev/ping 100000 100 m PongRead PongWrite
[Thread debugging using libthread_db enabled]
Starting ping example
[New Thread 0xb7a306c0 (LWP 29845)]
[New Thread 0xb7a2fb90 (LWP 29848)]
[New Thread 0xb762eb90 (LWP 29849)]
[New Thread 0xb761db90 (LWP 29850)]
[New Thread 0xb760cb90 (LWP 29851)]
PING: TIMEOUT - message lost
PING: TIMEOUT - message lost

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7a306c0 (LWP 29845)]
0xb7cc1d28 in strcmp () from /lib/tls/i686/cmov/
(gdb) bt
#0 0xb7cc1d28 in strcmp () from /lib/tls/i686/cmov/
#1 0xb7c2b0be in c_checkType (o=0x200cda34, name=0xb7b095da "v_topic") at ../../code/c_misc.c:37
#2 0xb7b02686 in u_writeWithHandleAction (_this=0x80607c8, data=0xbfed46bc, timestamp={seconds = 0, nanoseconds = 0}, handle=0,
action=0xb7b89361 <v_writerwrite>) at ../../code/u_writer.c:332
#3 0xb7b0283f in u_writerWrite (_this=0x80607c8, data=0xbfed46bc, timestamp={seconds = 0, nanoseconds = 0}, handle=0) at ../../code/u_writer.c:380
#4 0xb7ab27bc in gapi_fooDataWriter_write (_this=0x8060490, instance_data=0x8068b40 "`\017", handle=0) at ../../code/gapi_fooDataWriter.c:167
#5 0xb7ee2205 in DDS__FooDataWriter_write (this=0x8060490, instance_data=0x8068b40, handle=0) at ../../code/sac_fooDataWriter.c:84
#6 0x08051054 in pingpong_PP_min_msgDataWriter_write (_this=0x8060490, instance_data=0x8068b40, handle=0) at pingpongSacDcps.c:147
#7 0x0804c1d3 in main (argc=6, argv=0xbfed4884) at ../../ping.cpp:760

Please help me out in understanding the problem

Next message Hans van 't Hag  posted on Monday, August 09, 2010 - 04:13 pm
Hi Kisalay,

This forum is about generic DDS-questions rather than on product/vendor specific DDS implementations, so could you please post your question(s) either on the mailing-lists (see or on our opensplice-specific forum(see

In the mean time, I suggest you check-out any generated info/error-logfiles (called ospl-error.log and ospl-info.log) which will probably reveal that you've exhausted the default shared-memory-segment of 10 Mbyte while running the test that with your parameters creates 100.000 different 'instances' (as there's as many instances as the blockcound parameter)which each induce a specification-driven 'overhead' (w.r.t. the payload of any samples) as each 'instance' will need to maintain a lot of administrative information w.r.t. handling the instance- and view-states w.r.t. first-appearance, lifeliness, ownership, history, etc.

Next message Hans van 't Hag  posted on Monday, August 09, 2010 - 04:14 pm
Hi Kisalay,

PS> using the bundled 'mmstat' tool, you can also watch shared-memory usage 'as you go'
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Post as "Anonymous"
Enable HTML code in message
Automatically activate URLs in message