1. 23 Aug, 2018 4 commits
  2. 22 Aug, 2018 12 commits
  3. 21 Aug, 2018 2 commits
  4. 20 Aug, 2018 8 commits
    • Christoph Reiter's avatar
      Merge branch 'mingw-statbuf-size' into 'master' · f6703db3
      Christoph Reiter authored
      gstdio: use _stat64 for GStatBuf on 64bit mingw. Fixes #1476
      
      Closes #1476
      
      See merge request GNOME/glib!226
      f6703db3
    • Christoph Reiter's avatar
      gstdio: use _stat64 for GStatBuf on 64bit mingw. Fixes #1476 · 63d3311c
      Christoph Reiter authored
      The size of stat depends on various macros on Windows which leads to
      the problem of size mismatches when glib is built with a different configuration
      than a program using it.
      
      For example the autotools build defaults to _FILE_OFFSET_BITS=64 and a program
      not defining  _FILE_OFFSET_BITS will allocate a too small struct on the stack,
      leading to stack corruption when glib writes to it.
      
      To make the size the user sees always match the default mingw build define GStatBuf
      as _stat64 (same as _FILE_OFFSET_BITS=64) under mingw+64bit.
      63d3311c
    • Philip Withnall's avatar
      Merge branch 'mingw-file-offset-64' into 'master' · 37361393
      Philip Withnall authored
      meson: define _FILE_OFFSET_BITS=64 for MinGW. See #1476
      
      See merge request GNOME/glib!228
      37361393
    • Philip Withnall's avatar
      Merge branch 'wip/lantw/fix-gtestdbus-crash-on-freebsd' · 769326e1
      Philip Withnall authored
      Manually rebased.
      
      GNOME/glib!251
      769326e1
    • Ting-Wei Lan's avatar
      gtestdbus: Fix watcher crash on FreeBSD · 91474038
      Ting-Wei Lan authored
      In file gio/gtestdbus.c, function watch_parent, there is a loop which
      waits for commands sent from the parent process and kills all processes
      recorded in 'pids_to_kill' array on parent process exit. The detection
      of parent process exit is done by calling g_poll and checking whether
      the returned event is G_IO_HUP. However, 'revents' is a bit mask, and
      we should use a bitwise-AND check instead of the equality check here.
      
      It seems to work fine on Linux, but it fails on FreeBSD because the
      g_poll returns both G_IO_IN and G_IO_HUP on pipe close. This means the
      watcher process continues waiting for commands after the parent process
      exit, and g_io_channel_read_line returns G_IO_STATUS_EOF with 'command'
      set to NULL. Then the watcher process crashes with segfault when calling
      sscanf because 'command' is NULL. Since the test result is already
      reported by the parent process as 'OK', this kind of crash is likely to
      be unnoticed unless someone checks dmesg messages after the test:
      
      pid 57611 (defaultvalue), uid 1001: exited on signal 11
      pid 57935 (actions), uid 1001: exited on signal 11
      pid 57945 (gdbus-bz627724), uid 1001: exited on signal 11
      pid 57952 (gdbus-connection), uid 1001: exited on signal 11
      pid 57970 (gdbus-connection-lo), uid 1001: exited on signal 11
      pid 57976 (gdbus-connection-sl), uid 1001: exited on signal 11
      pid 58039 (gdbus-exit-on-close), uid 1001: exited on signal 11
      pid 58043 (gdbus-exit-on-close), uid 1001: exited on signal 11
      pid 58047 (gdbus-exit-on-close), uid 1001: exited on signal 11
      pid 58051 (gdbus-exit-on-close), uid 1001: exited on signal 11
      pid 58055 (gdbus-export), uid 1001: exited on signal 11
      pid 58059 (gdbus-introspection), uid 1001: exited on signal 11
      pid 58065 (gdbus-names), uid 1001: exited on signal 11
      pid 58071 (gdbus-proxy), uid 1001: exited on signal 11
      pid 58079 (gdbus-proxy-threads), uid 1001: exited on signal 11
      pid 58083 (gdbus-proxy-well-kn), uid 1001: exited on signal 11
      pid 58091 (gdbus-test-codegen), uid 1001: exited on signal 11
      pid 58095 (gdbus-threading), uid 1001: exited on signal 11
      pid 58104 (gmenumodel), uid 1001: exited on signal 11
      pid 58108 (gnotification), uid 1001: exited on signal 11
      pid 58112 (gdbus-test-codegen-), uid 1001: exited on signal 11
      pid 58116 (gapplication), uid 1001: exited on signal 11
      pid 58132 (dbus-appinfo), uid 1001: exited on signal 11
      
      If the watcher process crashes before killing the dbus-daemon process
      spawned by the parent process, the dbus-daemon process will keep running
      after all tests complete. Due to the implementation of 'communicate'
      function in Python subprocess, it causes meson to crash. 'communicate'
      assumes the stdout and stderr pipes are closed when the child process
      exits, but it is not true if processes forked by the child process
      doesn't exit. It causes Python subprocess 'communicate' function to
      block on the call to poll until the timeout expires even if the test
      finishes in a few seconds. Meson assumes the timeout exception always
      means the test is still running. It calls 'communicate' again and
      crashes because pipes no longer exist.
      
      Infrastructure/GitLab#286
      https://github.com/mesonbuild/meson/issues/3967
      https://bugs.python.org/issue30154
      91474038
    • Philip Withnall's avatar
    • Philip Withnall's avatar
    • Philip Withnall's avatar
      Merge branch 'fix-gnotification-tests' into 'master' · a7ffddba
      Philip Withnall authored
      tests: fix gnotification tests broken due to the recent icon name fallback changes
      
      See merge request !252
      a7ffddba
  5. 19 Aug, 2018 3 commits
  6. 17 Aug, 2018 4 commits
  7. 16 Aug, 2018 7 commits