ADLINK-IST/opensplice

isocpp2 Listener Aborted (core dumped)

Closed this issue · 2 comments

The Listeners that I try to run, compiled with isocpp2, all result in:

=== [ListenerDataSubscriber] Set listener  
=== [ListenerDataSubscriber] Ready...
video_displayer: /opt/DDS/opensplice/src/kernel/code/v_status.c:515: v_statusReset: Assertion `s != NULL' failed.
Aborted (core dumped)

This error is thrown when the data writer starts writing data. Both the OpenSplice example and my own code result in this error.

Stack trace of the error:

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff74d7859 in __GI_abort () at abort.c:79
#2  0x00007ffff74d7729 in __assert_fail_base
    (fmt=0x7ffff766d588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff7f39ea0 "s != NULL", file=0x7ffff7f39d08 "/opt/DDS/opensplice/src/kernel/code/v_status.c", line=515, function=<optimized out>) at assert.c:92
#3  0x00007ffff74e8f36 in __GI___assert_fail
    (assertion=0x7ffff7f39ea0 "s != NULL", file=0x7ffff7f39d08 "/opt/DDS/opensplice/src/kernel/code/v_status.c", line=515, function=0x7ffff7f3a360 <__PRETTY_FUNCTION__.15351> "v_statusReset") at assert.c:101
#4  0x00007ffff7e3a7d3 in v_statusReset (s=0x0, mask=4096) at /opt/DDS/opensplice/src/kernel/code/v_status.c:515
#5  0x00007ffff7eaddce in u_observableAction (_this=0x555555905b40, action=
    0x7ffff7c741e0 <org::opensplice::sub::AnyDataReaderDelegate::reset_data_available_callback(v_public_s*, void*)>, arg=0x0)
    at /opt/DDS/opensplice/src/user/code/u_observable.c:538
#6  0x00007ffff7c74ac2 in org::opensplice::sub::AnyDataReaderDelegate::reset_data_available() ()
    at /opt/DDS/opensplice/install/HDE/x86_64.linux-dev/lib/libdcpsisocpp2.so
#7  0x0000555555562069 in dds::sub::detail::DataReader<Multimedia::Video>::listener_notify(std::shared_ptr<org::opensplice::core::ObjectDelegate>, unsigned int, void*, void*) ()
#8  0x00007ffff7c8fad4 in org::opensplice::core::EntityDelegate::listener_entity_notify(std::shared_ptr<org::opensplice::core::ObjectDelegate>, unsigned int, void*) () at /opt/DDS/opensplice/install/HDE/x86_64.linux-dev/lib/libdcpsisocpp2.so
#9  0x00007ffff7c790fa in org::opensplice::core::ListenerDispatcher::eventHandler(v_listenerEvent_s*) ()
    at /opt/DDS/opensplice/install/HDE/x86_64.linux-dev/lib/libdcpsisocpp2.so
#10 0x00007ffff7c7946b in org::opensplice::core::ListenerDispatcher::processEvents() ()
    at /opt/DDS/opensplice/install/HDE/x86_64.linux-dev/lib/libdcpsisocpp2.so
#11 0x00007ffff7c79560 in org::opensplice::core::ListenerDispatcher::thread(std::shared_ptr<org::opensplice::core::ObjectDelegate> const&)
    () at /opt/DDS/opensplice/install/HDE/x86_64.linux-dev/lib/libdcpsisocpp2.so
#12 0x00007ffff7c795f8 in org::opensplice::core::ListenerDispatcher::threadWrapper(void*) ()
    at /opt/DDS/opensplice/install/HDE/x86_64.linux-dev/lib/libdcpsisocpp2.so
#13 0x00007ffff7d2ae50 in os_startRoutineWrapper (threadContext=0x5555558b3300)
    at /opt/DDS/opensplice/src/abstraction/os/linux/../posix/code/os_thread.c:346
#14 0x00007ffff7341609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#15 0x00007ffff75d4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

How can I solve this problem?

Dear kjrusscher,

I have just tested the Listener example code. it is working fine.

~/Softwares/OpenspliceDDS_CommunityEdition/PXXX-VortexOpenSplice-6.9.190925OSS-HDE-x86_64.linux-gcc9-glibc2.27-installer/HDE/x86_64.linux/examples/dcps/Listener/isocpp2$ ./subscriber
=== [ListenerDataSubscriber] Set listener
=== [ListenerDataSubscriber] Ready ...

=== [ExampleDataReaderListener::on_data_available] - samples.length() : 1
=== [Subscriber] message received :
userID : 1
Message : "Hello World"

=== [ExampleDataReaderListener::on_requested_deadline_missed] : triggered

=== [ExampleDataReaderListener::on_requested_deadline_missed] : stopping
=== [ListenerDataSubscriber] Closed

With best regards,
Vivek Kumar Pandey

Quite strange. I removed all OpenSplice builds from the install directory and did a new build of OpenSplice. After that the error had disappeared. I guess something went wrong during the previous build.