Update query using INSERT { ... } WHERE { FILTER (...) } causes crash
This update is rather useless, so this isn't a blocker or anything, but we should avoid the crash.
Run the attached script in a directory with the .ontology
file and you'll see the crash.
Query:
INSERT { ?file a nautilus:File ; nautilus:starred true . } WHERE { FILTER(?file IN (<file:///home/sam/Desktop>))}
Backtrace:
(gdb) ba
#0 prepare_solution_select (sparql=0x102b2b0 [TrackerSparql], pattern=0x7fffe80037e0, error=0x7ffff21df930)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:4321
#1 0x00007ffff62f142e in get_solution_for_pattern (sparql=0x102b2b0 [TrackerSparql], pattern=0x7fffe80037e0, error=0x7ffff21df930)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:4355
#2 0x00007ffff62f1aa4 in translate_Modify (sparql=0x102b2b0 [TrackerSparql], error=0x7ffff21df930)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:4514
#3 0x00007ffff62fe42d in _call_rule_func (sparql=0x102b2b0 [TrackerSparql], named_rule=NAMED_RULE_Modify, error=0x7ffff21df9c0)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:9159
#4 0x00007ffff62efec3 in translate_Update1 (sparql=0x102b2b0 [TrackerSparql], error=0x7ffff21df9c0)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:3772
#5 0x00007ffff62fe42d in _call_rule_func (sparql=0x102b2b0 [TrackerSparql], named_rule=NAMED_RULE_Update1, error=0x7ffff21dfa30)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:9159
#6 0x00007ffff62ecef7 in translate_Update (sparql=0x102b2b0 [TrackerSparql], error=0x7ffff21dfa30)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:2549
#7 0x00007ffff62fe42d in _call_rule_func (sparql=0x102b2b0 [TrackerSparql], named_rule=NAMED_RULE_Update, error=0x7ffff21dfac0)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:9159
#8 0x00007ffff62ff27c in tracker_sparql_execute_update (sparql=0x102b2b0 [TrackerSparql], blank=0, error=0x7ffff21dfac0)
at ../subprojects/tracker/src/libtracker-data/tracker-sparql.c:9481
#9 0x00007ffff62ce9de in update_sparql
(data=0x639f20 [TrackerData], update=0x9d4970 "INSERT { ?file a nautilus:File ; nautilus:starred true . } WHERE { FILTER(?file IN (<file:///home/sam/Desktop>))}\n", blank=0, error=0x7ffff21dfb30)
at ../subprojects/tracker/src/libtracker-data/tracker-data-update.c:2635
#10 0x00007ffff62cea89 in tracker_data_update_sparql
(data=0x639f20 [TrackerData], update=0x9d4970 "INSERT { ?file a nautilus:File ; nautilus:starred true . } WHERE { FILTER(?file IN (<file:///home/sam/Desktop>))}\n", error=0x7ffff21dfb30)
at ../subprojects/tracker/src/libtracker-data/tracker-data-update.c:2658
#11 0x00007ffff6fa0a3e in update_thread_func (data=0xd53320, user_data=0x65f460)
at ../subprojects/tracker/src/libtracker-sparql/direct/tracker-direct.c:130
#12 0x00007ffff7eda0f4 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
#13 0x00007ffff7ed97f2 in g_thread_proxy (data=0x63c640) at ../glib/gthread.c:807
...