Control: tags -1 moreinfo On 2012-09-25 11:03, Josselin Mouette wrote: > This bug didn’t make it through the list at first because the diff is > too large. > > Le dimanche 23 septembre 2012 à 13:16 +0200, Josselin Mouette a écrit : >> Package: release.debian.org >> Severity: normal >> User: release.debian....@packages.debian.org >> Usertags: unblock >> >> Hi, >> >> I just uploaded a new glib2.0 package to unstable. The differences to >> testing are: >> >> [...] >> >> >> The full diff is attached, stripped of the autogenerated parts. It is >> quite large, but most of it consists in documentation improvements and >> function decorators. There are also quite a number of bugs fixed - the >> release is bugfix only so large changes are not included. >> >> In order to avoid having the ugly version number in a release, I propose >> to let this version age for 10 days in unstable, then re-upload it to >> testing with the 2.32.4-1 version number. >> >> Thanks for considering, >
Hi, The diff looks mostly reasonable, though I have one case where it seems to me that the new version introduces a leak (see attached glib.leak). Other than that, I think it may have to wait until the next d-i beta is out. Personally I do not mind the extra couple of days in unstable as the diff is rather large and I could quite possibly have missed something. Also, on the part of (re-)uploading it as 2.32.{4,5}-1 via t-p-u. I am not sure it is an acceptable use of t-p-u, so my default would be "no" on this. ~Niels
It seems to me that stderr_child may be leaked when goto cleanup paths are taken? diff -Nru glib2.0-2.32.3/gio/glib-compile-resources.c glib2.0-2.33.12+really2.32.4/gio/glib-compile-resources.c --- glib2.0-2.32.3/gio/glib-compile-resources.c 2012-03-29 22:43:04.000000000 +0000 +++ glib2.0-2.33.12+really2.32.4/gio/glib-compile-resources.c 2012-07-14 20:33:11.000000000 +0000 @@ -272,6 +272,7 @@ if (state->preproc_options) { gchar **options; + gchar *stderr_child = NULL; guint i; gboolean xml_stripblanks = FALSE; gboolean to_pixdata = FALSE; @@ -324,9 +325,8 @@ g_assert (argc <= G_N_ELEMENTS (argv)); if (!g_spawn_sync (NULL /* cwd */, argv, NULL /* envv */, - G_SPAWN_STDOUT_TO_DEV_NULL | - G_SPAWN_STDERR_TO_DEV_NULL, - NULL, NULL, NULL, NULL, &status, &my_error)) + G_SPAWN_STDOUT_TO_DEV_NULL, + NULL, NULL, NULL, &stderr_child, &status, &my_error)) { g_propagate_error (error, my_error); goto cleanup; @@ -334,12 +334,13 @@ #ifdef HAVE_SYS_WAIT_H if (!WIFEXITED (status) || WEXITSTATUS (status) != 0) { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, - _("Error processing input file with xmllint")); + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + _("Error processing input file with xmllint:\n%s"), stderr_child); goto cleanup; } #endif + g_free (stderr_child); g_free (real_file); real_file = g_strdup (tmp_file); } @@ -347,6 +348,7 @@ if (to_pixdata) { gchar *argv[4]; + gchar *stderr_child = NULL; int status, fd, argc; if (gdk_pixbuf_pixdata == NULL) @@ -379,9 +381,8 @@ g_assert (argc <= G_N_ELEMENTS (argv)); if (!g_spawn_sync (NULL /* cwd */, argv, NULL /* envv */, - G_SPAWN_STDOUT_TO_DEV_NULL | - G_SPAWN_STDERR_TO_DEV_NULL, - NULL, NULL, NULL, NULL, &status, &my_error)) + G_SPAWN_STDOUT_TO_DEV_NULL, + NULL, NULL, NULL, &stderr_child, &status, &my_error)) { g_propagate_error (error, my_error); goto cleanup; @@ -389,12 +390,13 @@ #ifdef HAVE_SYS_WAIT_H if (!WIFEXITED (status) || WEXITSTATUS (status) != 0) { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, - _("Error processing input file with to-pixdata")); + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + _("Error processing input file with to-pixdata:\n%s"), stderr_child); goto cleanup; } #endif + g_free (stderr_child); g_free (real_file); real_file = g_strdup (tmp_file2); } <end of chunks for this file>