Back Midas Rome Roody Rootana
  Midas DAQ System  Not logged in ELOG logo
Entry  11 Apr 2013, Thorsten Lux, Forum, Persistent ipcrm error 
    Reply  11 Apr 2013, Konstantin Olchanski, Forum, Persistent ipcrm error 
    Reply  11 Apr 2013, Stefan Ritt, Forum, Persistent ipcrm error 
       Reply  12 Apr 2013, Thorsten Lux, Forum, Persistent ipcrm error 
          Reply  12 Apr 2013, Stefan Ritt, Forum, Persistent ipcrm error 
             Reply  12 Apr 2013, Thorsten Lux, Forum, Persistent ipcrm error 
    Reply  12 Apr 2013, Thorsten Lux, Forum, Persistent ipcrm error 
       Reply  12 Apr 2013, Stefan Ritt, Forum, Persistent ipcrm error 
Message ID: 880     Entry time: 12 Apr 2013     In reply to: 879
Author: Stefan Ritt 
Topic: Forum 
Subject: Persistent ipcrm error 
> [odb.c:6038:db_paste,ERROR] found string exceeding MAX_STRING_LENGTH

Ok, so here is what probably happened. Some user program wrote a long string into the ODB and somehow corrupted it. This corruption persists as long as you work with 
binary data. Indeed "rebuilding" the ODB helps in that case. What we do actually is at the beginning of every run, the ODB contents is dumped into the data file via

/Logger/Channels/0/Setting/ODB dump

in case we get ODB corruption, we clear all *.shm files as well as the shared memory segments, create a fresh ODB, extract the ODB from the last successful run via

odbhist -e runxxx.mid

and load it via odbedit. I put some additional code in most midas functions to prevent this corruption (and thus your saw the above error "found string exceeding 
MAX_STRING_LENGTH"), but since the ODB is physically in the address space of each midas program, they can theoretically bypass the midas functions and write accidentally 
into the ODB with an uninitialized pointer or so.

Best regards,
Stefan
ELOG V3.1.4-2e1708b5