Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • tracker tracker
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 84
    • Issues 84
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • trackertracker
  • Issues
  • #240
Closed
Open
Issue created Aug 10, 2020 by Tomasz Kłoczko@kloczek

2.99.3: test-bus-query-cancellation is failing

+ cd tracker-2.99.3
+ /usr/bin/dbus-run-session /usr/bin/xvfb-run -a /usr/bin/meson test -C x86_64-redhat-linux-gnu --num-processes 48 --print-errorlogs
ninja: Entering directory `/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu'
[0/2] Generating ontology-doc-generated with a custom commanddbus-daemon[309073]: [session uid=1000 pid=309073] Activating service name='org.gtk.vfs.Daemon' requested by ':1.0' (uid=1000 pid=309158 comm="/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_6" label="unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023")
dbus-daemon[309073]: [session uid=1000 pid=309073] Successfully activated service 'org.gtk.vfs.Daemon'
[1/2] Generating base-ontology-doc-generated with a custom commandfusermount3: failed to access mountpoint /run/user/1000/gvfs: Permission denied
[2/2] Generating ontology-doc-generated with a custom command
dbus-daemon[309073]: [session uid=1000 pid=309073] Activating service name='org.gtk.vfs.Metadata' requested by ':1.6' (uid=1000 pid=309225 comm="/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_6" label="unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023")
dbus-daemon[309073]: [session uid=1000 pid=309073] Successfully activated service 'org.gtk.vfs.Metadata'
 1/31 tracker:functional / insertion                  OK             1.44s
 2/31 tracker:functional / query                      OK             0.85s
 3/31 tracker:functional / fts-functions              OK             0.56s
 4/31 tracker:functional / sparql-bugs                OK             0.70s
 5/31 tracker:functional / group-concat               OK             0.54s
 6/31 tracker:functional / coalesce                   OK             0.65s
 7/31 tracker:functional / distance                   OK             0.56s
 8/31 tracker:functional / graph                      OK             1.04s
 9/31 tracker:functional / concurrent-query           OK             1.48s
10/31 tracker:functional / notifier                   OK             1.12s
11/31 tracker:functional / collation                  OK             0.58s
12/31 tracker:functional / ontology-changes           OK             0.66s
13/31 tracker:functional / cli                        OK             1.42s
14/31 tracker:functional+ipc / bus-query-cancellation FAIL           0.86s (killed by signal 5 SIGTRAP)
15/31 tracker:gvdb / gvdb                             OK             0.02s
16/31 tracker:common / date-time                      OK             0.03s
17/31 tracker:common / file-utils                     OK             0.04s
18/31 tracker:common / type-utils                     OK             0.03s
19/31 tracker:common / utils                          OK             0.01s
20/31 tracker:data / crc32                            OK             0.04s
21/31 tracker:data / ontology-change                  OK             0.56s
22/31 tracker:data / sparql-blank                     OK             0.14s
23/31 tracker:data / insert-or-replace                OK             0.49s
24/31 tracker:data / service                          OK             2.59s
25/31 tracker:data+slow / ontology                    OK             2.94s
26/31 tracker:data+slow / sparql                      OK             5.35s
27/31 tracker:fts / fts                               OK             0.23s
28/31 tracker:resource / resource                     OK             0.08s
29/31 tracker:sparql / sparql                         OK             0.52s
30/31 tracker:sparql / fd                             OK             1.58s
31/31 tracker:sparql / statement                      OK             0.58s

Ok:                 30
Expected Fail:      0
Fail:               1
Unexpected Pass:    0
Skipped:            0
Timeout:            0


The output from the failed tests:

14/31 tracker:functional+ipc / bus-query-cancellation FAIL           0.86s (killed by signal 5 SIGTRAP)

--- command ---
18:10:14 GI_TYPELIB_PATH='/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu/src/libtracker-sparql' PYTHONPATH='/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/utils' TRACKER_FUNCTIONAL_TEST_CONFIG='/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu/tests/functional-tests/configuration.json' TRACKER_LANGUAGE_STOP_WORDS_DIR='/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/src/libtracker-common/stop-words' LD_LIBRARY_PATH='/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu/src/libtracker-sparql' LANG='en_GB.utf-8' /home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu/tests/functional-tests/ipc/test-bus-query-cancellation
--- stdout ---
# random seed: R02S1582110280585ffcafdfb57076e9b898
1..1
# Start of libtracker-sparql tests
# Start of tracker tests
# Bug Reference: https://bugzilla.gnome.org/show_bug.cgi?id=737023
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
# Tracker-DEBUG: Checking for adequate disk space to create databases, 67.3 GB remaining, 5.2 MB required as a minimum
# Tracker-INFO: Applying ontologies from /home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/src/ontologies/nepomuk
# Tracker-INFO: Saving DB locale as: 'en_GB.utf-8'
Bail out! GLib-GIO-FATAL-CRITICAL: g_task_return_error: assertion '!task->ever_returned' failed
--- stderr ---

(/home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu/tests/functional-tests/ipc/test-bus-query-cancellation:309199): GLib-GIO-CRITICAL **: 19:10:15.362: g_task_return_error: assertion '!task->ever_returned' failed
-------

Full log written to /home/tkloczko/rpmbuild/BUILD/tracker-2.99.3/x86_64-redhat-linux-gnu/meson-logs/testlog.txt
A connection to the bus can't be made

And I think that I know why it fails.

[tkloczko@barrel tests]$ grep -r g_assert -w
gvdb/gvdb-test.c:        g_assert (unlink (filename) == 0);
gvdb/gvdb-test.c:        g_assert (gvdb_table_write_contents (root_table, DB_FILE, FALSE, NULL));
gvdb/gvdb-test.c:        g_assert (gvdb_table_write_contents (root_table, DB_FILE, FALSE, NULL));
gvdb/gvdb-test.c:        g_assert (root_level);
gvdb/gvdb-test.c:        g_assert (ns_level);
gvdb/gvdb-test.c:        g_assert (keys);
gvdb/gvdb-test.c:                g_assert (gvdb_table_has_value (ns_level, key));
gvdb/gvdb-test.c:        g_assert (gvdb_table_write_contents (table, filename, use_byteswap, NULL));
gvdb/gvdb-test.c:        g_assert (read);
gvdb/gvdb-test.c:        g_assert (gvdb_table_is_valid (read));
gvdb/gvdb-test.c:        g_assert (gvdb_table_has_value (read, "key1"));
gvdb/gvdb-test.c:        g_assert (g_variant_equal (value, expected));
gvdb/gvdb-test.c:        g_assert (gvdb_table_write_contents (table, DB_FILE, FALSE, NULL));
gvdb/gvdb-test.c:        g_assert (read && gvdb_table_is_valid (read));
gvdb/gvdb-test.c:        g_assert (gvdb_table_has_value (read_ref, "key1"));
gvdb/gvdb-test.c:        g_assert (g_variant_equal (value, expected));
gvdb/gvdb-test.c:        g_assert (error);
libtracker-common/tracker-date-time-test.c:     g_assert (result != NULL && strncmp (result, "2008-06-16T23:53:10Z", 19) == 0);
libtracker-common/tracker-date-time-test.c:        g_assert (!error);
libtracker-common/tracker-date-time-test.c:        g_assert (!error);
libtracker-common/tracker-date-time-test.c:        g_assert (!error);
libtracker-common/tracker-date-time-test.c:        g_assert (error);
libtracker-common/tracker-date-time-test.c:        g_assert (error);
libtracker-common/tracker-date-time-test.c:        g_assert (error);
libtracker-common/tracker-date-time-test.c:        g_assert (error);
libtracker-common/tracker-date-time-test.c:        g_assert (!error);
libtracker-common/tracker-date-time-test.c:        g_assert (!error);
libtracker-common/tracker-date-time-test.c:        g_assert (!error);
libtracker-common/tracker-file-utils-test.c:        g_assert (g_file_test (filename, G_FILE_TEST_EXISTS));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/home"));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/tmp"));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/usr"));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/home/user/MyDocs"));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/home/user/MyDocs/.sounds"));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/home/user/MyDocs/visible"));
libtracker-common/tracker-file-utils-test.c:    g_assert (string_in_list (result, "/home/user/MyDocs"));
libtracker-common/tracker-file-utils-test.c:    g_assert (!result);
libtracker-common/tracker-file-utils-test.c:    g_assert (!result);
libtracker-common/tracker-file-utils-test.c:        g_assert (!result);
libtracker-common/tracker-file-utils-test.c:        g_assert (f);
libtracker-common/tracker-file-utils-test.c:        g_assert (f);
libtracker-common/tracker-file-utils-test.c:        g_assert (!f);
libtracker-common/tracker-file-utils-test.c:        g_assert (tracker_file_system_has_enough_space ("/home", 1, FALSE));
libtracker-common/tracker-file-utils-test.c:        g_assert (tracker_file_system_has_enough_space ("/home", 1, TRUE));
libtracker-common/tracker-file-utils-test.c:        //g_assert (!tracker_file_system_has_enough_space ("/home", G_MAXULONG, FALSE));
libtracker-common/tracker-file-utils-test.c:        g_assert (tracker_file_is_hidden (f));
libtracker-common/tracker-file-utils-test.c:        g_assert (!tracker_file_is_hidden (f));
libtracker-common/tracker-file-utils-test.c:        g_assert (!tracker_file_cmp (one, two));
libtracker-common/tracker-file-utils-test.c:        g_assert (tracker_file_cmp (two, three));
libtracker-common/tracker-parser-test.c:                g_assert ((nwords == testdata->expected_nwords) ||
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("one", input));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("two", input));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("three", input));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("four", input));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_string_in_gslist ("five", input));
libtracker-common/tracker-type-utils-test.c:    g_assert (result != NULL);
libtracker-common/tracker-type-utils-test.c:        g_assert (result);
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("one", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("two", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("three", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("four", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (result);
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("one", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_string_in_gslist ("two", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_string_in_gslist ("three", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_string_in_gslist ("four", result));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_gslist_with_string_data_equal (list1, list1));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_gslist_with_string_data_equal (list1, shorty));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_gslist_with_string_data_equal (shorty, list1));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_gslist_with_string_data_equal (list1, list2));
libtracker-common/tracker-type-utils-test.c:        g_assert (tracker_gslist_with_string_data_equal (list2, list1));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_gslist_with_string_data_equal (list1, list3));
libtracker-common/tracker-type-utils-test.c:        g_assert (!tracker_gslist_with_string_data_equal (list3, list1));
libtracker-common/tracker-utils-test.c:        g_assert (tracker_is_empty_string (NULL));
libtracker-common/tracker-utils-test.c:        g_assert (tracker_is_empty_string (""));
libtracker-common/tracker-utils-test.c:        g_assert (!tracker_is_empty_string ("Eeeeepa not empty"));
libtracker-common/tracker-utils-test.c:        g_assert (tracker_is_blank_string (NULL));
libtracker-common/tracker-utils-test.c:        g_assert (tracker_is_blank_string (""));
libtracker-common/tracker-utils-test.c:        g_assert (tracker_is_blank_string (" "));
libtracker-common/tracker-utils-test.c:        g_assert (tracker_is_blank_string ("       "));
libtracker-common/tracker-utils-test.c:        g_assert (!tracker_is_blank_string ("   -    "));
libtracker-common/tracker-utils-test.c:        g_assert (!tracker_is_blank_string ("   -"));
libtracker-common/tracker-utils-test.c:        g_assert (!tracker_is_blank_string ("-   "));
libtracker-common/tracker-utils-test.c:        g_assert (!tracker_is_blank_string ("nonono"));
libtracker-data/tracker-service-test.c:         g_assert (error != NULL);
libtracker-data/tracker-service-test.c:         g_assert (error != NULL && error->domain == TRACKER_SPARQL_ERROR);
libtracker-data/tracker-sparql-blank-test.c:    g_assert (updates != NULL);
libtracker-data/tracker-sparql-blank-test.c:    g_assert (solutions[0][1] != NULL);
libtracker-data/tracker-sparql-blank-test.c:    g_assert (solutions[1][1] != NULL);
libtracker-data/tracker-sparql-blank-test.c:    g_assert (solutions[2][1] != NULL);
libtracker-data/tracker-sparql-test.c:          g_assert (error != NULL);
libtracker-data/tracker-sparql-test.c:          g_assert (error != NULL && error->domain == TRACKER_SPARQL_ERROR);
libtracker-data/tracker-sparql-test.c:                  g_assert (error != NULL);
libtracker-sparql/tracker-fd-test.c:    g_assert (!tracker_sparql_cursor_next (cursor_glib, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (!tracker_sparql_cursor_next (cursor_fd, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (!cursor);
libtracker-sparql/tracker-fd-test.c:    g_assert (error != NULL && error->domain == TRACKER_SPARQL_ERROR);
libtracker-sparql/tracker-fd-test.c:    g_assert (tracker_sparql_cursor_next (cursor, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (cursor);
libtracker-sparql/tracker-fd-test.c:    g_assert (!tracker_sparql_cursor_next (cursor, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (tracker_sparql_cursor_get_n_columns (cursor) == 1);
libtracker-sparql/tracker-fd-test.c:    g_assert (cursor);
libtracker-sparql/tracker-fd-test.c:    g_assert (tracker_sparql_cursor_next (cursor, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (error != NULL);
libtracker-sparql/tracker-fd-test.c:    g_assert (error != NULL && error->domain == TRACKER_SPARQL_ERROR);
libtracker-sparql/tracker-fd-test.c:    g_assert (results);
libtracker-sparql/tracker-fd-test.c:    g_assert (results);
libtracker-sparql/tracker-fd-test.c:    g_assert (error != NULL && error->domain == TRACKER_SPARQL_ERROR);
libtracker-sparql/tracker-fd-test.c:    g_assert (!results);
libtracker-sparql/tracker-fd-test.c:    g_assert (results);
libtracker-sparql/tracker-fd-test.c:    /* g_assert (!error); */
libtracker-sparql/tracker-fd-test.c:    g_assert (cursor_fd != NULL);
libtracker-sparql/tracker-fd-test.c:    g_assert (cursor_glib != NULL);
libtracker-sparql/tracker-fd-test.c:    g_assert (!tracker_sparql_cursor_next (cursor_fd, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (!tracker_sparql_cursor_next (cursor_glib, NULL, NULL));
libtracker-sparql/tracker-fd-test.c:    g_assert (error);
libtracker-sparql/tracker-fd-test.c:    g_assert (error);
libtracker-sparql/tracker-fd-test.c:    g_assert (results != NULL);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_values (resource, "http://example.com/0") == NULL);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_double (resource, "http://example.com/0") == 0.0);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_int (resource, "http://example.com/0") == 0);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_int64 (resource, "http://example.com/0") == 0);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_string (resource, "http://example.com/0") == NULL);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_uri (resource, "http://example.com/0") == NULL);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_double (resource, "http://example.com/1") == 0.6);
libtracker-sparql/tracker-resource-test.c:      g_assert (tracker_resource_get_first_int64 (resource, "http://example.com/3") == 123456789);
libtracker-sparql/tracker-resource-test.c:      g_assert (G_VALUE_HOLDS (list->next->next->data, RANDOM_GVALUE_TYPE));
libtracker-sparql/tracker-sparql-test.c:        g_assert (result != NULL);
libtracker-sparql/tracker-sparql-test.c:        g_assert (cursor != NULL);
libtracker-sparql/tracker-sparql-test.c:        g_assert (query < G_N_ELEMENTS (queries));
libtracker-sparql/tracker-sparql-test.c:        g_assert (cancellables[query] != NULL);
libtracker-sparql/tracker-sparql-test.c:        g_assert (cursor != NULL);
libtracker-sparql/tracker-sparql-test.c:        g_assert (connection != NULL);

g_assert () should not be used in test units because it blocks use those units when glib is build with G_DISABLE_ASSERT (I'm using that kind of binary to generate production executables).

From https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert: "The macro can be turned off in final releases of code by defining G_DISABLE_ASSERT when compiling the application, so code must not depend on any side effects from expr . Similarly, it must not be used in unit tests, otherwise the unit tests will be ineffective if compiled with G_DISABLE_ASSERT. Use g_assert_true() and related macros in unit tests instead".

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