Hi All,<br>I have typical client/server applications (files are attached). Client signals server (req) and server in turn responds it (resp). There are two threads within client application. One thread listen for response signals from server and other sends request signals to server. Client application works fine if it makes one request to server after every seconds. But when client floods server with multiple requests (10 req in 10 miliseconds), server serves those request fine. But client dumping core (Abort Signal) while receiving the responses. Following is the message at client side.<br>
<br>23456: assertion failed "!(connection)->have_connection_lock" file "dbus-connection.c" line 1505 function _dbus_connection_handle_watch<br> ./myclient [0x8059245]<br> ./myclient [0x805a65a]<br>
./myclient [0x804e04a]<br> ./myclient(_dbus_connection_handle_watch+0x51) [0x80632fd]<br> ./myclient(dbus_watch_handle+0xd0) [0x805cc7c]<br> ./myclient [0x804f299]<br> ./myclient [0x804f68f]<br> ./myclient [0x804d581]<br>
/lib/tls/i686/libc.so.6(__libc_start_main+0xba) [0x4916fd8e]<br> ./myclient [0x804d175]<br>Aborted (core dumped)<br><br>BackTrace of Core file<br>--------------------------------<br>(gdb) bt<br>#0 0x49180a04 in raise () from /lib/tls/i686/libc.so.6<br>
#1 0x49181f00 in abort () from /lib/tls/i686/libc.so.6<br>#2 0x0805a67a in _dbus_abort () at dbus-sysdeps.c:94<br>#3 0x0804e04a in _dbus_real_assert (condition=Variable "condition" is not available.<br>) at dbus-internals.c:931<br>
#4 0x080632fd in _dbus_connection_handle_watch (watch=0x809a430, condition=1, data=0x809a788) at dbus-connection.c:1505<br>#5 0x0805cc7c in dbus_watch_handle (watch=0x809a430, flags=1) at dbus-watch.c:700<br>#6 0x0804f299 in _dbus_loop_iterate (loop=0x809a8a0, block=1) at dbus-mainloop.c:842<br>
#7 0x0804f68f in _dbus_loop_run (loop=0x809a8a0) at dbus-mainloop.c:906<br>#8 0x0804d581 in main (argc=5, argv=0xbfe28864) at myclient.c:168<br><br>I'm using, dbus-1.6.4 version.<br><br>1. Is client dumping core cause, DBUS library is not able to sustain for this much of load?<br>
2. Is it recommended to use DBUS library in multi-threading applications?<br>3. Am I missing any important aspect related to DBUS in my client/server application?<br><br>Client-Server works fine for 10 req in 10 miliseconds, if server wont respond back to client for requests.<br>
Please advice. Thanks in advance.<br> <br clear="all"><br>-- <br>Regards,<br>Rajnikant Jachak.<br><br>The pessimist sees difficulty in every opportunity. The optimist sees the opportunity in every difficulty.<br>