Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • T tracker
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 72
    • Issues 72
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • tracker
  • Issues
  • #249

Closed
Open
Created Aug 29, 2020 by Sam Thursfield@sthursfieldMaintainer

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

nautilus.ontology

testcase.sh

Edited Aug 29, 2020 by Sam Thursfield
Assignee
Assign to
Time tracking