Hi, all.

Thank you, Patrick for your help. With your guidelines I was able to 
create a debian package with debug binary with symbols in place.

I recreated the crash condition on corrupted database as follows:
   - executed "Crash Recovery When The Normal Crash Recovery Fails” 
first command 'virtuoso-t -c /etc/virtuoso-opensource-7/virtuoso.ini -f 
+crash-dump +mode oa +dumpkeys schema' on corrupted database and that 
resulted in an crash with following core dump:
     Program terminated with signal SIGSEGV, Segmentation fault.
     #0  0x0000000000b075d7 in gpf_notice (file=0xbc20c2 "extent.c", 
line=952, text=0xbc2348 "no dp even though brand new ext") at Dkutil.c:86
     86  Dkutil.c: No such file or directory.
     (gdb) bt
     #0  0x0000000000b075d7 in gpf_notice (file=0xbc20c2 "extent.c", 
line=952, text=0xbc2348 "no dp even though brand new ext") at Dkutil.c:86
     #1  0x00000000004bc3ba in em_new_dp_1 (em=0x682a5bd40, ext_type=1, 
near=4294967295) at extent.c:952
     #2  0x00000000004bc919 in em_new_dp (em=0x682a5bd40, type=1, 
near=4294967295, hold=0x0) at extent.c:1100
     #3  0x00000000004bf734 in dbs_stretch_sets (dbs=0x6829cb050) at 
extent.c:1948
     #4  0x00000000004bfad2 in dbs_extent_open (dbs=0x6829cb050) at 
extent.c:2006
     #5  0x00000000004adc12 in dbs_from_file (name=0xbc1733 "master", 
file=0x0, type=0 '\000', exists=0x14d66a8 <db_exists>) at disk.c:4540
     #6  0x00000000004adf39 in wi_open_dbs () at disk.c:4597
     #7  0x00000000004ae4d0 in wi_open (mode=0x3309738 "D oa") at 
disk.c:4704
     #8  0x00000000006b9974 in srv_global_init (mode=0x3309738 "D        
oa") at sqlsrv.c:3901
     #9  0x00000000004116bc in main (argc=9, argv=0x32e47a0) at viunix.c:652

Regarding the error I got while uploading graph dumps to new clean 
database. I was able to create a test scenario to reproduce the errror 
"XXXXX COL..: Insert stopped because out of seg data here or elsewhere 
host 0 key RDF_QUAD_SP slice 0" while uploading dumps with bulk loader. 
The error happened every test run when I used a set of 1000 named graphs 
each containing multiple triples with object xsd:date, for example: 
'"2001-06-04Z"^^xsd:date'. When I supstituted '"2001-06-04Z"^^xsd:date' 
with '"2001-06-04"^^xsd:date', so removing timezone identifier the error 
newer occurred. I can send to someone directly my test batch and exact 
steps for creating this condition, if you wish. I would not like to 
attach this data for entire list. The timezone 'Z' has been added by 
virtuoso, when doing graph dump, because when inserting data through 
java program we do not add the timezone ourselves.

Best wishes.

Piret


On 19.01.16 15:46, Patrick van Kleef wrote:
> Hi Piret,
>
>> As the quad dump failed I went with an option to select list of named graphs 
>> we needed to save from corrupted database and I am making dumps of those 
>> graphs one by one using procedure specified here 
>> http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtRDFDatasetDump.
>>  I uploaded to new fresh database 1745454 named graphs from old database 
>> using bulk loader. This is just a small amount of overall named graphs still 
>> need loading to new database. After uploading those graphs with bulk loader 
>> I started a process to insert some named graphs through our java process 
>> using query "SPARQL INSERT DATA { GRAPH <named_graph> { ... }}". After 
>> processing 233270 named graphs I got the same error in the clean database:
>>
>>      COL..: Insert stopped because out of seg data here or elsewhere host 0 
>> key RDF_QUAD_SP slice 0
>>
>> The clean database file size is only 4G. Made an integrity check after that 
>> and it passed. Additionally made crash dump and restore successfully, but 
>> after starting java process again I still get the same error. The 
>> differences with other named graphs I inserted and the named graphs inserted 
>> through java process is that java process ones contain multiple plain 
>> literal object values with some UTF-8 letters 'ÄÖÜÕ', for example (test 
>> values presented):
>>
>>      <https://test.ee/organizations/ee-1234567890> 
>> <http://purl.org/goodrelations/v1#legalName> "EXAMPLE TEST OÜ" .
>>
>> And multiple decimal values, for example (test values presented):
>>
>>      <https://test.ee/amounts/total> <http://schema.org/amount> 
>> "7.77"^^<http://www.w3.org/2001/XMLSchema#decimal> .
>>
>> Integrity check passes and no errors are logged to virtuoso.log file. The 
>> database starts up correctly and select queries work just fine. Connection 
>> with virtuoso is made with url 
>> "jdbc:virtuoso://<ip_address>:1111/CHARSET=UTF-8".
>>
>> I was not able to create a debian package with debug binary with symbols in 
>> place using debian/rules for compiling. Can someone maybe give me some 
>> guidance on where to correctly add option --with-debug and CFLAGS variable?
>>
> Please use the following environment for Debian, else the deb_build tool will 
> strip the binaries:
>
>       export DEB_BUILD_OPTIONS="nostrip noopt”
>
> next edit the debian/rules file and add the following line to the 
> DEB_CONFIGURE_EXTRA_FLAGS= setting:
>
>       —with-debug \
>
> then do a clean build of the VOS tree, and you should end up with binaries 
> that have full debug symbols.
>
>
> Patrick
> ---
> Patrick van Kleef
> Program Manager
> OpenLink Software
>
> http://www.openlinksw.com/
> http://twitter.com/openlink/
>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to