[redland-dev] Redland MySQL double free()

Christopher Schmidt crschmidt at crschmidt.net
Sun Dec 19 12:16:56 PST 2004


Recently, something in my configuration seems to have changed, which 
means it is now impossible for me to run RDQL queries with two AND 
clauses.

An example crashing query is:

select ?prop, ?addr where (?who ?n "crschmidt") (?who ?prop ?addr)  
and ?n == foaf:name and ?prop == foaf:yahooChatID  
using foaf for <http://xmlns.com/foaf/0.1/>

The crash occurs after printing all the results from the query. Once it 
does, the useful portion of the backtrace, obtained from gdb, gives:

#0  0x401c6271 in kill () from /lib/libc.so.6
#1  0x40129131 in pthread_kill () from /lib/libpthread.so.0
#2  0x401294ab in raise () from /lib/libpthread.so.0
#3  0x401c6004 in raise () from /lib/libc.so.6
#4  0x401c74cd in abort () from /lib/libc.so.6
#5  0x40201d50 in mallopt () from /lib/libc.so.6
#6  0x402009c9 in mallopt () from /lib/libc.so.6
#7  0x401ff6bf in free () from /lib/libc.so.6
#8  0x406c91d2 in my_no_flags_free () from /usr/lib/libmysqlclient.so.12
#9  0x406c35ba in mysql_free_result () from 
/usr/lib/libmysqlclient.so.12
#10 0x4035b167 in 
librdf_storage_mysql_find_statements_in_context_finished 
(context=0x80bbd08) at rdf_storage_mysql.c:1736
#11 0x4034f87c in librdf_free_stream (stream=0x80bc208) at 
rdf_stream.c:118
#12 0x40352c37 in rasqal_redland_finish_triples_match (rtm=0x0, 
user_data=0x80bbff0) at rdf_query_rasqal.c:399
#13 0x407482b6 in rasqal_free_triples_match (rtm=0x80a6870) at 
rasqal_engine.c:376
#14 0x407485e4 in rasqal_engine_get_next_result (query=0x80b4320) at 
rasqal_engine.c:525
#15 0x40747868 in rasqal_query_results_next (query_results=0x4012eff4) 
at rasqal_query.c:732
#16 0x40352ea4 in librdf_query_rasqal_results_next (query_results=0x0) 
at rdf_query_rasqal.c:523
#17 0x40351cc0 in librdf_query_results_next (query_results=0x4012eff4) 
at rdf_query_results.c:99
#18 0x400275bf in _wrap_librdf_query_results_next (self=0x0, args=0x0) 
at Redland_wrap.c:2769

(Anything before that in the stack is just general Python calls; this is 
from the Python bindings.)

I am using the MySQL backend.

I'm not sure if this crash may be due to too much data being returned; 
so far as I'm aware, the only thing that has changed would be adding 
more triples to the returned results. 

The error given is:

*** glibc detected *** double free or corruption (fasttop): 0x080bbc90 ***

This is occuring with Redland version 0.9.18, mysql  Ver 12.22 
Distrib 4.0.21, for pc-linux-gnu (i686) on a gentoo system with 
ebuild-buit MySQL server and hand-built Redland.

This error occurs regardless of the number of returned triples. (The 
example query returns none.)

If there's anything I can do to provie more useful debug information, 
please let me know; I'm a complete novice when dealing with these kinds 
of errors.

-- 
Christopher Schmidt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnomehack.com/pipermail/redland-dev/attachments/20041219/d295d6bf/attachment.pgp


More information about the redland-dev mailing list