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

Reply via email to