GNOME Bugzilla – Bug 768550
Test failure: check_expected_events
Last modified: 2018-05-24 18:59:48 UTC
Building glib-2.48.1 on OS X 10.11 with xcode-7.3.1, I get a self-test failure in gio/tests: ERROR: testfilemonitor - too few tests run (expected 5, got 0) ERROR: testfilemonitor - exited with status 134 (terminated by signal 6?) From gio/tests/testfilemonitor.log: # random seed: R02Sae98c35b286e4a3c94d1fd2e88081d9e 1..5 ** GLib-GIO:ERROR:testfilemonitor.c:93:check_expected_events: assertion failed (n_expected == g_list_length (recorded)): (9 == 10) # Start of monitor tests ../../tap-test: line 5: 36132 Abort trap: 6 $1 -k --tap # GLib-GIO:ERROR:testfilemonitor.c:93:check_expected_events: assertion failed (n_expected == g_list_length (recorded)): (9 == 10) ERROR: testfilemonitor - too few tests run (expected 5, got 0) ERROR: testfilemonitor - exited with status 134 (terminated by signal 6?) I know OS X has some filesystem details and interfaces that are different than linux. I'm configuring with --disable-fam, and using older glib I often see console diagnostics about various volume- or directory-monitoring being unavailable.
Still as of 2.52.2, and enabling fam (installing the "gamin" package, and verifying that glib's fam detection succeeds) does not resolve it. But running the test manually does give a bit better diagnostic than the .log (sorry I forgot to include this earlier!): /monitor/atomic-replace: ** GLib-GIO:ERROR:testfilemonitor.c:93:check_expected_events: assertion failed (n_expected == g_list_length (recorded)): (9 == 10) Abort
Can you use gdb to print out the recorded events so we can compare them to the atomic_replace_output array?
I'm not very proficient with gdb and I know little about this area of libgio. Could you give me some more specific commands or at least what variables or information the "recorded events" refers to?
(In reply to Daniel Macks from comment #3) > I'm not very proficient with gdb and I know little about this area of > libgio. Could you give me some more specific commands or at least what > variables or information the "recorded events" refers to? The gdb commands should be something like: frame 4 # to select the check_expected_events() frame in the backtrace print n_expected print expected[0] print *((RecordedEvent *) recorded->data) print expected[1] print *((RecordedEvent *) recorded->next->data) print expected[2] print *((RecordedEvent *) recorded->next->next->data) etc. until you’ve printed out all elements of both lists (which will mean printing out the trailing element of one of the lists separately). Thanks.
Created attachment 353382 [details] events-lists comparison
Is there any other information you need or things I should try? The two parallel structs get out of sync so badly and there are so many things happening in this test, I don't know where to begin. Brendan, a fink developer, mentioned: <brendan> glib2 testfilemonitor error seems to have to do with the monitor not converting delete+add to rename... <brendan> I'm not sure, I think it may be mainly the move versus delete/create and the other bits fall out of that
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/1181.