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


------------------------------------------------------------------------------
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