We can't reproduce this problem. It would be useful if you guys could
try to reproduce it after applying this patch:
On Tue, 2009-11-03 at 11:39 +0200, Tshepang Lekhonkhobe wrote:
> this is probably related to the crash Laurent reported a few days ago
>
> On Tue, Nov 3, 2009 at 10:07, Tshepang Lekhonkhobe<[email protected]> wrote:
> > Hi,
> >
> > When starting tracker-store while miner-fs is still alive I get the
> > following crash:
> >
> > Tracker-Message: Waiting for D-Bus requests...
> > (tracker-store:7891): Tracker-DEBUG: <--- [1] D-Bus request for batch
> > SPARQL Update, update:'DROP GRAPH
> > <file:///usr/share/applications/gksu.desktop> INSERT {
> > <urn:nepomuk:datasource:84f20000-1241-11de-8c30-0800200c9a66> a
> > nie:DataSource .
> > <file:///usr/share/applications/gksu.desktop> a
> > nfo:SoftwareApplication , nie:DataObject ;
> > nie:dataSource
> > <urn:nepomuk:datasource:84f20000-1241-11de-8c30-0800200c9a66> ;
> > a nfo:Executable , nfo:FileDataObject , nie:DataObject ;
> > nie:title "Root Terminal" .
> > <file:///usr/share/applications/gksu.desktop>
> > <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#comment>
> > "Opens a terminal as the root user, using gksu to ask for the
> > password" .
> > <file:///usr/share/applications/gksu.desktop>
> > <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#softwareCmdLine>
> > "gksu /usr/bin/x-terminal-emulator" .
> > <urn:theme-icon:gksu-root-terminal> a nfo:Image .
> > <file:///usr/share/applications/gksu.desktop> nfo:softwareIcon
> > <urn:theme-icon:gksu-root-terminal> .
> > <urn:software-category:GTK> a nfo:SoftwareCategory ;
> > nie:title "GTK" .
> > <file:///usr/share/applications/gksu.desktop> nie:isLogicalPartOf
> > <urn:software-category:GTK> .
> > <urn:software-category:Utility> a nfo:SoftwareCategory ;
> > nie:title "Utility" .
> > <file:///usr/share/applications/gksu.desktop> nie:isLogicalPartOf
> > <urn:software-category:Utility> .
> > <urn:software-category:TerminalEmulator> a nfo:SoftwareCategory ;
> > nie:title "TerminalEmulator" .
> > <file:///usr/share/applications/gksu.desktop> nie:isLogicalPartOf
> > <urn:software-category:TerminalEmulator> .
> > <file:///usr/share/applications/gksu.desktop> nie:dataSource
> > <urn:nepomuk:datasource:84f20000-1241-11de-8c30-0800200c9a66> ;
> > nfo:fileName "gksu.desktop" .
> > <file:///usr/share/applications/gksu.desktop> a nfo:FileDataObject ,
> > nie:DataObject .
> > <file:///usr/share/applications/gksu.desktop> nie:isStoredAs
> > <file:///usr/share/applications/gksu.desktop> ;
> > nfo:fileLastModified "2009-04-10T16:34:09Z" .
> > }
> > '
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT ID FROM
> > "rdfs:Resource" WHERE Uri = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT (SELECT
> > Uri FROM "rdfs:Resource" WHERE ID = "rdf:type") FROM
> > "rdfs:Resource_rdf:type" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "rdfs:comment", "rdfs:label", strftime ("%Y-%m-%dT%H:%M:%SZ",
> > "tracker:added", "unixepoch"), CAST ("tracker:modified" AS TEXT),
> > "dc:title", "dc:creator", "dc:subject", "dc:description",
> > "dc:publisher", "dc:contributor", "dc:type", "dc:format",
> > "dc:identifier", "dc:language", "dc:coverage", "dc:rights",
> > "nao:identifier" FROM "rdfs:Resource" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "rdfs:Resource"."Uri" FROM "rdfs:Resource_rdf:type" INNER JOIN
> > "rdfs:Resource" ON "rdfs:Resource_rdf:type"."rdf:type" =
> > "rdfs:Resource"."ID" WHERE "rdfs:Resource_rdf:type"."ID" = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "tracker:added" FROM "rdfs:Resource" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "tracker:modified" FROM "rdfs:Resource" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "dc:title" FROM "rdfs:Resource" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT strftime
> > ("%Y-%m-%dT%H:%M:%SZ", "dc:date", "unixepoch") FROM
> > "rdfs:Resource_dc:date" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "dc:date" FROM "rdfs:Resource_dc:date" WHERE ID = ?'
> > (tracker-store:7891): Tracker-DEBUG: Preparing query: 'SELECT
> > "dc:source" FROM "rdfs:Resource_dc:source" WHERE ID = ?'
> > **
> > Tracker:ERROR:tracker-db-interface-sqlite.c:1231:tracker_db_statement_sqlite_reset:
> > assertion failed: (!priv->stmt_is_sunk)
> >
> > Program received signal SIGABRT, Aborted.
> > 0xb7fe1424 in __kernel_vsyscall ()
> > (gdb) bt
> > #0 0xb7fe1424 in __kernel_vsyscall ()
> > #1 0xb7ab53d0 in *__GI_raise (sig=6) at
> > ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> > #2 0xb7ab8a85 in *__GI_abort () at abort.c:88
> > #3 0xb7c86c2c in IA__g_assertion_message (domain=0xb7fd4f8b
> > "Tracker", file=0xb7fdaacd "tracker-db-interface-sqlite.c", line=1231,
> > func=0xb7fdae40 "tracker_db_statement_sqlite_reset",
> > message=0x840aa90 "assertion failed: (!priv->stmt_is_sunk)")
> > at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gtestutils.c:1302
> > #4 0xb7c8724d in IA__g_assertion_message_expr (domain=0xb7fd4f8b
> > "Tracker", file=0xb7fdaacd "tracker-db-interface-sqlite.c", line=1231,
> > func=0xb7fdae40 "tracker_db_statement_sqlite_reset",
> > expr=0xb7fdab0b "!priv->stmt_is_sunk") at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gtestutils.c:1313
> > #5 0xb7fc554c in tracker_db_statement_sqlite_reset (stmt=<value
> > optimized out>) at tracker-db-interface-sqlite.c:1231
> > #6 0xb7fc559d in tracker_db_interface_sqlite_create_statement
> > (db_interface=0x806eef0, query=0x840c368 "SELECT \"dc:source\" FROM
> > \"rdfs:Resource_dc:source\" WHERE ID = ?")
> > at tracker-db-interface-sqlite.c:506
> > #7 0xb7fc203a in tracker_db_interface_create_statement
> > (interface=0x806eef0, query=0xb7fd5abc "SELECT \"%s\" FROM \"%s\"
> > WHERE ID = ?") at tracker-db-interface.c:291
> > #8 0xb7f9a69a in get_property_values (property=0x83c9800) at
> > tracker-data-update.c:762
> > #9 0xb7f9bafd in delete_metadata_decomposed (property=0x83c9800,
> > value=0x80ee998
> > "urn:nepomuk:datasource:84f20000-1241-11de-8c30-0800200c9a66",
> > error=0x0)
> > at tracker-data-update.c:973
> > #10 0xb7f9ca6b in tracker_data_delete_statement (subject=0x806df98
> > "file:///usr/share/applications/gksu.desktop", predicate=0x83c9720
> > "http://purl.org/dc/elements/1.1/source",
> > object=0x80ee998
> > "urn:nepomuk:datasource:84f20000-1241-11de-8c30-0800200c9a66",
> > error=0x0) at tracker-data-update.c:1148
> > #11 0xb7f9cfd5 in tracker_data_delete_resource_description
> > (uri=0x806df98 "file:///usr/share/applications/gksu.desktop",
> > error=0xbffff29c) at tracker-data-update.c:1789
> > #12 0xb7fb6985 in tracker_sparql_query_execute_drop_graph
> > (self=0x83ff120, error=0xbffff318) at tracker-sparql-query.c:2464
> > #13 tracker_sparql_query_execute (self=0x83ff120, error=0xbffff318) at
> > tracker-sparql-query.c:1157
> > #14 0xb7f9951f in tracker_data_update_sparql (
> > update=0x8404950 "DROP GRAPH
> > <file:///usr/share/applications/gksu.desktop> INSERT
> > {\n<urn:nepomuk:datasource:84f20000-1241-11de-8c30-0800200c9a66> a
> > nie:DataSource .\n<file:///usr/share/applications/gksu.desktop> a
> > nfo:S"..., error=0xbffff318) at tracker-data-update.c:1829
> > #15 0x080533eb in queue_idle_handler (user_data=0x83f5910) at
> > tracker-store.c:203
> > #16 0xb7c5e0b1 in g_idle_dispatch (source=0x806db70, callback=0,
> > user_data=0x83f5910) at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gmain.c:4065
> > #17 0xb7c5fe98 in g_main_dispatch (context=0x80670b0) at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gmain.c:1960
> > #18 IA__g_main_context_dispatch (context=0x80670b0) at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gmain.c:2513
> > #19 0xb7c63623 in g_main_context_iterate (context=0x80670b0, block=1,
> > dispatch=1, self=0x805b850) at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gmain.c:2591
> > #20 0xb7c63aea in IA__g_main_loop_run (loop=0x84022e8) at
> > /build/buildd-glib2.0_2.22.2-2-i386-R8GTDn/glib2.0-2.22.2/glib/gmain.c:2799
> > #21 0x080503f6 in main (argc=Cannot access memory at address 0x0
> > ) at tracker-main.c:430
> >
> >
> > --
> > my place on the web:
> > floss-and-misc.blogspot.com
> >
>
>
>
> --
> my place on the web:
> floss-and-misc.blogspot.com
> _______________________________________________
> tracker-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/tracker-list
--
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
http://pvanhoof.be/blog
http://codeminded.be
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index eb41b82..9d0a8b6 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -1673,7 +1673,8 @@ tracker_data_delete_resource_description (const gchar *uri, GError **error)
{
TrackerDBInterface *iface;
TrackerDBStatement *stmt;
- TrackerDBCursor *cursor, *single_cursor, *multi_cursor;
+ TrackerDBCursor *cursor, *multi_cursor;
+ TrackerDBResultSet *single_result;
TrackerClass *class;
GString *sql;
TrackerProperty **properties, **property;
@@ -1725,13 +1726,13 @@ tracker_data_delete_resource_description (const gchar *uri, GError **error)
}
}
- single_cursor = NULL;
+ single_result = NULL;
if (!first) {
g_string_append_printf (sql, " FROM \"%s\" WHERE ID = ?", tracker_class_get_name (class));
stmt = tracker_db_interface_create_statement (iface, "%s", sql->str);
tracker_db_statement_bind_int (stmt, 0, resource_id);
- single_cursor = tracker_db_statement_start_cursor (stmt, NULL);
- tracker_db_cursor_iter_next (single_cursor);
+ single_result = tracker_db_statement_execute (stmt, NULL);
+ tracker_db_result_set_iter_next (single_result);
g_object_unref (stmt);
}
@@ -1753,15 +1754,18 @@ tracker_data_delete_resource_description (const gchar *uri, GError **error)
}
if (!tracker_property_get_multiple_values (*property)) {
+ gchar *str;
+
/* single value property, value in single_result_set */
- value = tracker_db_cursor_get_string (single_cursor, i++);
+ tracker_db_result_set_get (single_result, i++, &str, -1);
- if (value) {
+ if (str) {
tracker_data_delete_statement (uri,
tracker_property_get_uri (*property),
- value,
+ str,
error);
+ g_free (str);
}
} else {
@@ -1801,7 +1805,7 @@ tracker_data_delete_resource_description (const gchar *uri, GError **error)
}
if (!first) {
- g_object_unref (single_cursor);
+ g_object_unref (single_result);
}
}
_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list