GithubHelp home page GithubHelp logo

matgoebl / kogmo-rtdb Goto Github PK

View Code? Open in Web Editor NEW
26.0 26.0 15.0 11.07 MB

Real-Time Database (not only) for Cognitive Automobiles

Home Page: www.kogmo-rtdb.de

C 70.30% Shell 1.21% C++ 26.47% CMake 0.54% Makefile 1.34% QMake 0.13%

kogmo-rtdb's People

Contributors

j-kallwies avatar luettel avatar matgoebl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kogmo-rtdb's Issues

Freezes/deadlocks with glibc v2.25

When using kogmo-rtdb together with glibc v2.25 (currently the default version in arch linux), there occur freezes/deadlocks.

Reproducing the error:

  1. build example applications kogmo_rtdb_writer and kogmo_rtdb_reader
  2. start kogmo_rtdb kogmo_rtdb_man
  3. start kogmo_rtdb_writer
  4. in another shell, start kogmo_rtdb_reader; all should work as expected
  5. stop kogmo_rtdb_reader, e.g. via CTRL+C
  6. re-start kogmo_rtdb_reader: both reader and writer freeze

Backtrace from kogmo_rtdb_reader:

(gdb) bt
#0  0x00007ffff779c477 in pthread_cond_broadcast@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff7bbef4d in kogmo_rtdb_ipc_condvar_signalall (condvar=0x7fffb70fc360)
    at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_ipc_posix.c:660
#2  0x00007ffff7bc494c in kogmo_rtdb_obj_do_notify (objmeta_p=0x7fffb70d7340, db_h=0x603010)
    at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_proc_obj_notify.h:108
#3  kogmo_rtdb_obj_writedata (db_h=0x603010, oid=10, data_p=data_p@entry=0x7fffffffc5c0)
    at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_objdata.c:170
#4  0x0000000000400ba1 in main (argc=<optimized out>, argv=<optimized out>)
    at /home/haja/git/kogmo-rtdb/examples/kogmo_rtdb_writer.c:56

Backtrace from kogmo_rtdb_writer:

(gdb) bt
#0  0x00007ffff779b756 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff7bbecdb in kogmo_rtdb_ipc_condvar_wait (condvar=0x7fffb70fc360, mutex=0x7fffb7107ea0, wakeup_ts=wakeup_ts@entry=0)
    at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_ipc_posix.c:642
#2  0x00007ffff7bc80ea in kogmo_rtdb_obj_wait_notify (wakeup_ts=0, objmeta_p=0x7fffb70d7340, db_h=0x603010)
    at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_proc_obj_notify.h:135
#3  _kogmo_rtdb_obj_readdata_waitnext_until (db_h=0x603010, oid=oid@entry=10, old_ts=1493804344518355669, 
    data_p=data_p@entry=0x7fffffffc5c0, size=size@entry=1048, wakeup_ts=wakeup_ts@entry=0, do_ptr=0)
    at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_objdata.c:865
#4  0x00007ffff7bc8f4e in kogmo_rtdb_obj_readdata_waitnext (db_h=<optimized out>, oid=oid@entry=10, old_ts=<optimized out>, 
    data_p=data_p@entry=0x7fffffffc5c0, size=size@entry=1048) at /home/haja/git/kogmo-rtdb/rtdb/kogmo_rtdb_objdata.c:917
#5  0x0000000000400a4d in main (argc=<optimized out>, argv=<optimized out>)
    at /home/haja/git/kogmo-rtdb/examples/kogmo_rtdb_reader.c:45

It may have to do with this commit in the glibc code, where the condition variable was largely re-implemented.
I think (or hope) that it's more likely that the usage of the pthread mutexes and condition variables in kogmo_rtdb are not 100% correct, rather than it's a bug in glibc.

Greetings from the UniBw! Of course, if you help us fix this error, cold beverages are guaranteed ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.