unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* T040 fails on Fedora 39 rebuild
@ 2023-07-20 18:54 Michael J Gruber
  2023-07-20 19:33 ` Michael J Gruber
  0 siblings, 1 reply; 6+ messages in thread
From: Michael J Gruber @ 2023-07-20 18:54 UTC (permalink / raw)
  To: notmuch

Hi there,

funny failures again during the mass rebuild for the (not quite yet)
upcoming Fedora rebuild. This test passed just a few weeks ago, so the
failure is related to something else changing. But still it shows that
the order in which `notmuch config` produces new config can depend on
something else. It looks a bit like a buffering problem, but what do I
know ... In any case, this is with notmuch 0.37, and I did not see any
commit in master which could change that.

I vaguely remember we had g_key_file ordering issues before - maybe in
another project?

The group comment for the next group is written too early, or the keys
for the current group are written too late. This results in a
functionally equivalent config with "misplaced" comments.

Test still passes on Fedora 38. Glib2 versions are:

2.76.4-1.fc38
2.77.0-6.fc39

Cheers
Michael

```
T040-setup: Testing "notmuch setup"
 PASS   Notmuch new without a config suggests notmuch setup
 FAIL   Create a new config interactively
--- T040-setup.2.config-with-comments 2023-07-20 16:58:16.513709261 +0000
+++ T040-setup.2.new-notmuch-config 2023-07-20 16:58:16.513709261 +0000
@@ -1,7 +1,3 @@
-# .notmuch-config - Configuration file for the notmuch mail system
-#
-# For more information about notmuch, see https://notmuchmail.org
-
# Database configuration
#
# The only value supported here is 'path' which should be the top-level
@@ -11,8 +7,6 @@
# configured here named ".notmuch".
#
[database]
-path=/path/to/maildir
-
# User configuration
#
# Here is where you can let notmuch know how you would like to be
@@ -28,11 +22,8 @@
# recipient list of replies, and will set the From address based on the
# address to which the original email was addressed.
#
+path=/path/to/maildir
[user]
-name=Test Suite
-primary_email=test.suite@example.com
-other_email=another.suite@example.com
-
# Configuration for "notmuch new"
#
# The following options are supported here:
@@ -47,9 +38,10 @@
# names will be ignored, independent of its depth/location
# in the mail store.
#
+name=Test Suite
+primary_email=test.suite@example.com
+other_email=another.suite@example.com
[new]
-tags=foo;bar;
-
# Search configuration
#
# The following option is supported here:
@@ -59,9 +51,8 @@
# search results by default.  Using an excluded tag in a
# query will override that exclusion.
#
+tags=foo;bar;
[search]
-exclude_tags=baz
-
# Maildir compatibility configuration
#
# The following option is supported here:
@@ -83,4 +74,5 @@
# and update tags, while the "notmuch tag" and "notmuch restore"
# commands will notice tag changes and update flags in filenames
#
+exclude_tags=baz
[maildir]
 PASS   setup consistent with config-set for single items
```

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: T040 fails on Fedora 39 rebuild
  2023-07-20 18:54 T040 fails on Fedora 39 rebuild Michael J Gruber
@ 2023-07-20 19:33 ` Michael J Gruber
  2023-07-21  1:40   ` David Bremner
  0 siblings, 1 reply; 6+ messages in thread
From: Michael J Gruber @ 2023-07-20 19:33 UTC (permalink / raw)
  To: notmuch

Am Do., 20. Juli 2023 um 20:54 Uhr schrieb Michael J Gruber
<michaeljgruber+grubix+git@gmail.com>:
>
> Hi there,
>
> funny failures again during the mass rebuild for the (not quite yet)
> upcoming Fedora rebuild. This test passed just a few weeks ago, so the
> failure is related to something else changing. But still it shows that
> the order in which `notmuch config` produces new config can depend on
> something else. It looks a bit like a buffering problem, but what do I
> know ... In any case, this is with notmuch 0.37, and I did not see any
> commit in master which could change that.
>
> I vaguely remember we had g_key_file ordering issues before - maybe in
> another project?
>
> The group comment for the next group is written too early, or the keys
> for the current group are written too late. This results in a
> functionally equivalent config with "misplaced" comments.
>
> Test still passes on Fedora 38. Glib2 versions are:
>
> 2.76.4-1.fc38
> 2.77.0-6.fc39

In fact, glib2 may come with a fix when 2.77.1 is released:

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3380

I'm not sure we should or can work around 2.77.0's behaviour. (It
might get triggered by the add/remove trick.)

Cheers
Michael

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: T040 fails on Fedora 39 rebuild
  2023-07-20 19:33 ` Michael J Gruber
@ 2023-07-21  1:40   ` David Bremner
  2023-07-21  5:55     ` Michael J Gruber
  0 siblings, 1 reply; 6+ messages in thread
From: David Bremner @ 2023-07-21  1:40 UTC (permalink / raw)
  To: Michael J Gruber, notmuch

Michael J Gruber <michaeljgruber+grubix+git@gmail.com> writes:

> I'm not sure we should or can work around 2.77.0's behaviour. (It
> might get triggered by the add/remove trick.)

Will FC39 definitely ship with 2.77.0 ?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: T040 fails on Fedora 39 rebuild
  2023-07-21  1:40   ` David Bremner
@ 2023-07-21  5:55     ` Michael J Gruber
       [not found]       ` <87sf8kk28s.fsf@tethera.net>
  0 siblings, 1 reply; 6+ messages in thread
From: Michael J Gruber @ 2023-07-21  5:55 UTC (permalink / raw)
  To: David Bremner; +Cc: notmuch

Am Fr., 21. Juli 2023 um 03:40 Uhr schrieb David Bremner <david@tethera.net>:
>
> Michael J Gruber <michaeljgruber+grubix+git@gmail.com> writes:
>
> > I'm not sure we should or can work around 2.77.0's behaviour. (It
> > might get triggered by the add/remove trick.)
>
> Will FC39 definitely ship with 2.77.0 ?

There is still plenty of time, so I hope that 2.77.1 will land soon
and I can prod them to carry that (or the fix). If it lands the Fedora
notmuch rebuild against it is in my hands.

At first I thought we (notmuch) might have a flushing problem or such,
which we should prevent. But this clearly looks like a glib2
regression now which caused others' CI to fail, too. At least you're
prepared in case of incoming reports now ;-)

Cheers
Michael

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: T040 fails on Fedora 39 rebuild
       [not found]       ` <87sf8kk28s.fsf@tethera.net>
@ 2023-08-15 23:53         ` David Bremner
  2023-08-16  0:23           ` David Bremner
  0 siblings, 1 reply; 6+ messages in thread
From: David Bremner @ 2023-08-15 23:53 UTC (permalink / raw)
  To: Michael J Gruber; +Cc: notmuch

David Bremner <david@tethera.net> writes:

> Michael J Gruber <michaeljgruber+grubix+git@gmail.com> writes:
>
>> At first I thought we (notmuch) might have a flushing problem or such,
>> which we should prevent. But this clearly looks like a glib2
>> regression now which caused others' CI to fail, too. At least you're
>> prepared in case of incoming reports now ;-)
>
> I am seeing related (but less obnoxious) failures with glib 2.77.1 and
> 2.77.2: namely the comment at the beginning of the file is gone and the
> blank lines between groups are gone. Ignoring whitespace variance is
> easy enough, but the missing comment at the beginning indicates either a
> glib regression or notmuch doing it wrong.
>

Seems like a glib regression, unless there is something forbidden about
the following. Sigh, I guess I need to register for an account to report
a glib bug.

#include <glib.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char** argv){
  GKeyFile *file;
  size_t length;
  char *data, *filename;
  GError *error = NULL;
  
  file = g_key_file_new ();
  g_key_file_set_comment (file, NULL, NULL, "top comment", NULL);
  g_key_file_set_value (file, "section", "dummy_key", "dummy_val");
  g_key_file_remove_key (file, "section", "dummy_key", NULL);
  g_key_file_set_comment (file,"section",NULL, "section comment",NULL);

  data = g_key_file_to_data (file, &length, NULL);
  if (data == NULL) {
    fprintf (stderr, "Out of memory.\n");
    return 1;
  }

  puts(data);
  
}

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: T040 fails on Fedora 39 rebuild
  2023-08-15 23:53         ` David Bremner
@ 2023-08-16  0:23           ` David Bremner
  0 siblings, 0 replies; 6+ messages in thread
From: David Bremner @ 2023-08-16  0:23 UTC (permalink / raw)
  To: Michael J Gruber; +Cc: notmuch

David Bremner <david@tethera.net> writes:

> David Bremner <david@tethera.net> writes:
>
>> Michael J Gruber <michaeljgruber+grubix+git@gmail.com> writes:
>>
>>> At first I thought we (notmuch) might have a flushing problem or such,
>>> which we should prevent. But this clearly looks like a glib2
>>> regression now which caused others' CI to fail, too. At least you're
>>> prepared in case of incoming reports now ;-)
>>
>> I am seeing related (but less obnoxious) failures with glib 2.77.1 and
>> 2.77.2: namely the comment at the beginning of the file is gone and the
>> blank lines between groups are gone. Ignoring whitespace variance is
>> easy enough, but the missing comment at the beginning indicates either a
>> glib regression or notmuch doing it wrong.
>>
>
> Seems like a glib regression, unless there is something forbidden about
> the following. Sigh, I guess I need to register for an account to report
> a glib bug.

https://gitlab.gnome.org/GNOME/glib/-/issues/3078

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-08-16  0:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-20 18:54 T040 fails on Fedora 39 rebuild Michael J Gruber
2023-07-20 19:33 ` Michael J Gruber
2023-07-21  1:40   ` David Bremner
2023-07-21  5:55     ` Michael J Gruber
     [not found]       ` <87sf8kk28s.fsf@tethera.net>
2023-08-15 23:53         ` David Bremner
2023-08-16  0:23           ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).