Problems Generating MySql Database tables

  • I followed the install for linux from this link http://www.image-systems.biz/f…it=tutorial+install#p4124
    but when I run ./dgate -v -r I get this:
    Regen Database
    Step 1: Re-intialize SQL Tables
    Dropping Existing tables (if-any)
    Worklist is empty
    Dropping worklist
    Dropping other tables
    WorkList Database
    Patient Database
    Study Database
    Series Database
    Image Database
    ***DB error
    Step 2: Load / Add DICOM Object files
    Regen Device 'MAG0'
    ***[Regen] ./data/HEAD_EXP_00097038/0001_003000_892665662.v2 -FAILED: Error SQL Add
    ***[Regen] ./data/HEAD_EXP_00097038/0001_002000_892665661.v2 -FAILED: Error SQL Add
    Regeneration Complete


    The database tables have not been created. I check the username password used different usernames and passwords I also checked to make sure the the database name was correct but nothing seams to give the dgate access to my mysql database. I can asses the database form the command line or from phpmysqladmin page without a problem. Anyone have any ideas?


    Steven

  • Ok I installed sqlite and reinstalled conquest and I get this warning.


    warning: warning: fattach is not implemented and will always fail


    Is this a problem?


    I started sending studies over to conquest and it was working but then it stopped working and I got with error



    Can you tell me what is going on.

  • I also checked my message log and found this:


    Code
    Jan 22 11:17:07 Drapper kernel: [668125.585336] dgate[11640]: segfault at 08048af0 eip b7cd9da4 esp bf940660 error 7
    Jan 22 11:23:34 Drapper kernel: [668513.430001] dgate[11675]: segfault at 00000046 eip b7d3d1e9 esp b7490768 error 4


    Any ideas?

  • Hi,


    there are two problems:


    1) your data is not correct, this causes: "StudyInsta is not unique" (the same UID occurs in two patients), and "Truncated AccessionN from 18 to 16 chars in file...". These messages are OK. See, e.g., http://www.image-systems.biz/forum/viewtopic.php?f=33&t=618.


    2) The fault indicates that the handling code for these data errors (which are very rare), is not OK for SQLite - this code has apperently not been exercised yet - I have added a bug report. Can you reproduce it from gdb and get a "bt" listing?. The mysql error is probably due to the same data error and there it handles it correctly. So, I would suggest going back to mysql or trying dbaseIII as well.


    The fattach code is a leftover from the original UC Davis code that is not used, this warning is OK.


    Marcel

  • OK I am currently running gdb on dgate no crash so fare. Also for info when I ran dgate -v -r this was my output:


    I don't know if this might shed some light on the problem

  • OK on this

    Quote

    "StudyInsta is not unique" (the same UID occurs in two patients)


    is this the patient ID that is sent over to conquest.


    I know that from our last Pac system the system made if very difficult to change the Patient ID if it was entered in on the modality wrong, so there are quite a few patients with the wrong ID's. We are in the process of getting them fixed but have not got them all. Will this cause problems with conquest.

  • Hi,


    Awaiting the "bt".


    The other error occurs if the same data is stored twice with different patient IDs. This will cause conquest to reject one of the two. This is not a conquest issue but a general dicom issue. Conquest itself can safely modify patient IDs (generating new UIDs).


    Marcel

  • OK here is what gdb gives when dgate crashes:

  • Hi,


    I believe the error message was freed twice. Please replace routine SQLITEExec at line 3424 in odbci.cpp the following modified code:



    And recompile. Hope this solves it.


    Marcel

  • I made the code changes and compiled but when I ran dgate -v -r to regen the database this is what displayed


    When I run dgate -v it seams to run but none of my previous studies are available and there was several hundred that are in there. Also I tried dbase3 and that seamed to work just fine had it running for several days without a crash so I am fine using dbase instead of sqlite.


    I do have a couple of questions. I am using this for live archival purposes only. The only time that this server will be used other then to store images is if an old study needs to be retrieved is there any real advantage using sqlite over dbase. The HD size of our current images are about 300 to 400 GB increasing by 5 to 10 GB a month. Also I have 3 pac systems that I will be moving studies over from, a lot of the studies are the same study and there are to many to remove, will there be a problem just sending them all to conquest server.


    Steven

  • Hi,


    apparently there are two bugs... Can you get me a gdb bt of this fault as well? Just want to fix everything we run into prior to the next release.


    The real advantage of sqlite is that it is a real sql server: it can handle more complex queries, and the database size is more compact. But no, for your application dbase will do just fine, up to a couple of million images. For bigger archives MySQL is preferred.


    Sending stuff twice is no problem - the first sent data will just be overwritten.


    Marcel

  • ok


    Here is the bt from gdb when I run dgate -v -r

    Code
    #0 0xb7d55da4 in strcpy () from /lib/tls/i686/cmov/libc.so.6#1 0x08097d48 in Database::NextRecord ()#2 0x080a1984 in UpdateOrAddToTable ()#3 0x080a32bd in SaveToDataBase ()#4 0x080a368f in RegenToDatabase ()#5 0x080a39b8 in RegenDir ()#6 0x080a3977 in RegenDir ()#7 0x080a3bef in Regen ()#8 0x080a408d in Regen ()#9 0x080d77d6 in ParseArgs ()#10 0x080d9a98 in main ()


    Also I ran dgate -v through gdb and it stop about an hour into running with this error.

    Code
    Program received signal SIGINT, Interrupt.


    Here is the bt on it

    Code
    #0 0xb7f08410 in __kernel_vsyscall ()
    #1 0xb7ef5bb8 in accept () from /lib/tls/i686/cmov/libpthread.so.0
    #2 0x0807f3d6 in Socket::Accept ()
    #3 0x0809a8e3 in DriverApp::Server ()
    #4 0x080d9e3e in main ()

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!