Hi Hugh, Sorry I won’t have time to get a memory dump for at least two weeks. However, I must have explained something badly you need to run the insert query 4 or 5 times in a row to get the crash.
Regards, Jerven On 26 Jan 2014, at 15:51, Hugh Williams <hwilli...@openlinksw.com> wrote: > Hi Jerven, > > I have tried recreating this against the VOS develop/7 branch on Mac OS X > but have been unable to do so ... > > Hughs-MacBook-Pro-478:database hwilliams$ /Applications/Virtuoso\ > 7.1.app/Contents/virtuoso/bin/isql 1111 > Connected to OpenLink Virtuoso > Driver: 07.10.3207 OpenLink Virtuoso ODBC Driver > OpenLink Interactive SQL (Virtuoso), version 0.9849b. > Type HELP; for help and EXIT; to exit. > SQL> status(''); > REPORT > VARCHAR > _______________________________________________________________________________ > > OpenLink Virtuoso Server > Version 07.00.3207-pthreads for Darwin as of Dec 10 2013 > Started on: 2014-01-26 14:16 GMT+0 > > Database Status: > File size 614465536, 75008 pages, 51817 free. > 170000 buffers, 21735 used, 0 dirty 0 wired down, repl age 0 0 w. io 0 > w/crsr. > Disk Usage: 524 reads avg 1 msec, 0% r 0% w last 0 s, 21387 writes, > 13 read ahead, batch = 14. Autocompact 40700 in 18150 out, 55% saved col > ac: 4997 in 47% saved. > Gate: 44 2nd in reads, 0 gate write waits, 0 in while read 0 busy scrap. > Log = /usr/local/vos7/database/virtuoso.trx, 185 bytes > 23061 pages have been changed since last backup (in checkpoint state) > Current backup timestamp: 0x0000-0x00-0x00 > Last backup date: unknown > Clients: 1 connects, max 1 concurrent > RPC: 4 calls, 1 pending, 1 max until now, 0 queued, 0 burst reads (0%), 0 > second 0M large, 83M max > Checkpoint Remap 95 pages, 0 mapped back. 0 s atomic time. > DB master 75008 total 51817 free 95 remap 0 mapped back > temp 1024 total 1019 free > > Lock Status: 0 deadlocks of which 0 2r1w, 0 waits, > Currently 1 threads running 0 threads waiting 0 threads in vdb. > Pending: > > 23 Rows. -- 8 msec. > SQL> DB.DBA.RDF_LOAD_RDFXML_MT (file_to_string_output ('./taxonomy.rdf'), '', > 'http://beta.sparql.uniprot.org/taxonomy/'); > > Done. -- 118988 msec. > > SQL> SPARQL PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> INSERT { > GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { ?sub rdfs:subClassOf > ?super}} WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { ?sub > rdfs:subClassOf/rdfs:subClassOf ?super . MINUS { ?sub rdfs:subClassOf ?super > .}}}; > > *** Error 40005: VD [Virtuoso Server]SR325: Transaction aborted because it's > log after image size went above the limit > at line 4 of Top-Level: > SPARQL PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> INSERT { GRAPH > <http://beta.sparql.uniprot.org/taxonomy/> { ?sub rdfs:subClassOf ?super}} > WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { ?sub > rdfs:subClassOf/rdfs:subClassOf ?super . MINUS { ?sub rdfs:subClassOf ?super > .}}} > SQL> > > I got around the SR325 erro by doubling the "TransactionAfterImageLimit" > param in the INI file from the default of 50000000 to 100000000 and restarted > Virtuoso as indicated in the documentation at: > > http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#dbadm > > Then the insertion was successful: > > Hughs-MacBook-Pro-478:database hwilliams$ /Applications/Virtuoso\ > 7.1.app/Contents/virtuoso/bin/isql 1111 > Connected to OpenLink Virtuoso > Driver: 07.10.3207 OpenLink Virtuoso ODBC Driver > OpenLink Interactive SQL (Virtuoso), version 0.9849b. > Type HELP; for help and EXIT; to exit. > SQL> SPARQL PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> INSERT { > GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { ?sub rdfs:subClassOf > ?super}} WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { ?sub > rdfs:subClassOf/rdfs:subClassOf ?super . MINUS { ?sub rdfs:subClassOf ?super > .}}}; > > Done. -- 41081 msec. > SQL> sparql select count(*) from <http://beta.sparql.uniprot.org/taxonomy/> > where {?s ?p ?o}; > callret-0 > INTEGER > _______________________________________________________________________________ > > 9549986 > > 1 Rows. -- 150 msec. > SQL> > > In your case Is a core file being created when the server crashes ( note core > size for user account should be set to be unlimited with command “ulimit -c > unlimited” first), as if so you can create a debug unstripped Virtuoso > binary, recreate the core with it and use gdb to debug it as follows: > > 1. Edit ~//Makefile > > 2. To CONFIGURE_ARGS add --with-debug > > 3. To CONFIGURE_ENV prepend CC='cc -g’ > > 4. Then do "make clean all deinstall reinstall” to build a new debug > unstripped binary (virtuoso-t) > > 5. Start database with this new binary and force the crash condition again to > generate a new core file > > 6. Use gdb to load core file > > gdb virtuoso-t core > > 7. At the prompt, type "bt" or “backtrace” to backtrace through stack and > provide the output when top of stack is reached. > > Best Regards > Hugh Williams > Professional Services > OpenLink Software, Inc. // http://www.openlinksw.com/ > Weblog -- http://www.openlinksw.com/blogs/ > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > Twitter -- http://twitter.com/OpenLink > Google+ -- http://plus.google.com/100570109519069333827/ > Facebook -- http://www.facebook.com/OpenLinkSoftware > Universal Data Access, Integration, and Management Technology Providers > > On 22 Jan 2014, at 11:08, Jerven Bolleman <jerven.bolle...@isb-sib.ch> wrote: > >> Dear Virtuoso devs, >> >> On commit 2701d3f242a630562302471d168d20fec5ed2805 of the develop/7 branch. >> >> I load the file >> ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/rdf/taxonomy.rdf.gz >> into the graph named >> http://beta.sparql.uniprot.org/taxonomy/. >> >> Then checkpoint. Then I the run the SPARUL query >> >> PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> >> INSERT { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { >> ?sub rdfs:subClassOf ?super}} >> WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { >> ?sub rdfs:subClassOf/rdfs:subClassOf >> ?super . >> MINUS { ?sub rdfs:subClassOf ?super .}}} >> >> I get a message >> 17:27:41 * Monitor: Low query memory limit, try to increase MaxQueryMem >> Then I again run the same query >> PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> >> INSERT { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { >> ?sub rdfs:subClassOf ?super}} >> WHERE { GRAPH <http://beta.sparql.uniprot.org/taxonomy/> { >> ?sub rdfs:subClassOf/rdfs:subClassOf >> ?super . >> MINUS { ?sub rdfs:subClassOf ?super .}}} >> >> And virtuoso crashes without leaving a trace in the logs. >> >> The query log shows the first execution but not the second. >> And that looks like this >> >> Precode: >> 0: { FOR UPDATE >> time -nan% fanout 1 input 1 rows >> time -nan% fanout 1 input 1 rows >> >> Precode: >> 0: vector := Call vector ( 1 , 0 , 3 , ##subClassOf , 1 , 1 ) >> 5: vector := Call vector (vector) >> 10: vector := Call vector () >> 15: __bft := Call __bft (<c http://beta.sparql.uniprot.org/taxonomy/>, >> 1 ) >> 20: BReturn 0 >> { fork >> time -nan% fanout 1.09875e+06 input 1 rows >> RDF_QUAD_POGS 2.4e+03 rows(s_6_4_t1.O, s_6_4_t1.S) >> inlined P = ##subClassOf G = #/ >> time -nan% fanout 0.999965 input 1.09875e+06 rows >> RDF_QUAD 1 rows(s_6_7_t2.O) >> inlined P = ##subClassOf , S = k_s_6_4_t1.O G = #/ >> time -nan% fanout 0 input 1.09871e+06 rows >> END Node >> After test: >> 0: if ({ >> time -nan% fanout 1 input 1.09871e+06 rows >> time -nan% fanout 0 input 1.09871e+06 rows >> RDF_QUAD_POGS unq 0.0011 rows () >> P = ##subClassOf , O = k_s_6_7_t2.O , S = k_s_6_4_t1.S , G = #/ >> time -nan% fanout 0 input 0 rows >> Subquery Select( <none> ) >> } >> ) then 5 else 4 unkn 5 >> 4: BReturn 1 >> 5: BReturn 0 >> >> After code: >> 0: __ro2lo := Call __ro2lo (s_6_7_t2.O) >> 5: vector := Call vector (s_6_4_t1.S, __ro2lo) >> 10: if ($63 "user_aggr_notfirst" = 1 ) then 25 else 14 unkn 14 >> 14: $63 "user_aggr_notfirst" := := artm 1 >> 18: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_INIT ($64 >> "user_aggr_env") >> 25: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_ACC ($64 >> "user_aggr_env", vector, vector, vector, 0 ) >> 32: BReturn 0 >> } >> time -nan% fanout 1 input 1 rows >> skip node 1 <none> set_ctr >> >> After code: >> 0: DB.DBA.SPARQL_CONSTRUCT_FIN := Call DB.DBA.SPARQL_CONSTRUCT_FIN ($64 >> "user_aggr_env") >> 7: callret-0 := Call DB.DBA.SPARQL_INSERT_DICT_CONTENT (__bft, >> DB.DBA.SPARQL_CONSTRUCT_FIN, 0 , <DB_NULL>, 0 ) >> 14: BReturn 0 >> time -nan% fanout 0 input 1 rows >> skip node 1 <none> set_ctr >> >> After code: >> 0: DB.DBA.SPARQL_CONSTRUCT_FIN := Call DB.DBA.SPARQL_CONSTRUCT_FIN ($64 >> "user_aggr_env") >> 7: callret-0 := Call DB.DBA.SPARQL_INSERT_DICT_CONTENT (__bft, >> DB.DBA.SPARQL_CONSTRUCT_FIN, 0 , <DB_NULL>, 0 ) >> 14: BReturn 0 >> time -nan% fanout 0 input 1 rows >> Subquery Select(callret-0) >> } >> >> 8: $184 "vector" := Call vector ($185 "scalar") >> 13: $183 "DB.DBA.SPARUL_RUN" := Call DB.DBA.SPARUL_RUN ($184 "vector") >> 20: <none> := Call set_row_count ($183 "DB.DBA.SPARUL_RUN") >> 25: BReturn 0 >> END Node >> } >> ^@^B<80>^@<BD>^@^P<C3><D7><C1><BC>+<BD>^@^@8Z<D3>^K8^X^PqP^@ESC >> <<BC>^@<BC>^@<B5> 127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<A2><BD>^@^@G >> <B5>^Nlog_enable (3)^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@ >> <BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@W{ >> >> Precode: >> 0: <none> := Call log_enable ( 3 ) >> 5: BReturn 0 >> END Node >> } >> ^@^A@^@<BC>^@<C1><BC>+<BD>^@^@8[<D3>^K8^X^PqP^@^\ <<BC>^@<BC>^@<B5> >> 127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<A3><BD>^@^@G <B5>^Xcheckpoint_interval >> (60)^A<BC>^@<BC>^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@ >> <BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@a{ >> >> Precode: >> 0: <none> := Call checkpoint_interval ( 60 ) >> 5: BReturn 0 >> END Node >> } >> ^@^A@^@<BC>^@<C1><BC>+<BD>^@^@8\<D3>^K8^X^PqP^@^^ <<BC>^@<BC>^@<B5> >> 127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<B6><BD>^@^@G <B5>^Wcheckpoint_interval >> (0)^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@ >> <BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@`{ >> >> Precode: >> 0: <none> := Call checkpoint_interval ( 0 ) >> 5: BReturn 0 >> END Node >> } >> ^@^A@^@<BC>^@<C1><BC>+<BD>^@^@8]<D3>^K8^X^PqP^@^_ <<BC>^@<BC>^@<B5> >> 127.0.0.1<B5>^Cdba<CC>^S<BD>^@#k<B6><BD>^@^@G <B5>^Nlog_enable >> (0)^A<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC> >> ^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<BC>^@<B6>^@^@^@W{ >> >> Precode: >> 0: <none> := Call log_enable ( 0 ) >> 5: BReturn 0 >> END Node >> } >> I would expect the next query to show up here but it did not. The change to >> the checkpoint interval and logging status show that the two statements >> before the SPARUL succeeded. >> >> The exception caught from the java side is >> Exception:virtuoso.jdbc4.VirtuosoException: Virtuoso Communications Link >> Failure (timeout) : Connection to the server lost >> at >> virtuoso.sesame2.driver.VirtuosoRepositoryConnection.executeSPARUL(Unknown >> Source) >> at >> virtuoso.sesame2.driver.VirtuosoRepositoryConnection$4.execute(Unknown >> Source) >> >> Is there a way I can change the error log level to be more verbose/helpfull? >> >> Regards, >> Jerven >> >> -- >> ------------------------------------------------------------------- >> Jerven Bolleman jerven.bolle...@isb-sib.ch >> SIB Swiss Institute of Bioinformatics Tel: +41 (0)22 379 58 85 >> CMU, rue Michel Servet 1 Fax: +41 (0)22 379 58 58 >> 1211 Geneve 4, >> Switzerland www.isb-sib.ch - www.uniprot.org >> Follow us at https://twitter.com/#!/uniprot >> ------------------------------------------------------------------- >> <virtuoso-config-expasy4j-sparql702803043962519654.ini><virtuoso.log>------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. >> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk_______________________________________________ >> Virtuoso-users mailing list >> Virtuoso-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users > ------------------------------------------------------------------- Jerven Bolleman jerven.bolle...@isb-sib.ch SIB Swiss Institute of Bioinformatics Tel: +41 (0)22 379 58 85 CMU, rue Michel Servet 1 Fax: +41 (0)22 379 58 58 1211 Geneve 4, Switzerland www.isb-sib.ch - www.uniprot.org Follow us at https://twitter.com/#!/uniprot ------------------------------------------------------------------- ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users