2014-12-07

Vala deadlocks with glib 2.42

Since glib 2.41.2, the mutex/cond implementation on Linux has changed. The code compiled with Vala < 0.26 which targets at least glib 2.32 with --target-glib 2.32 will suffer from deadlocks.

Your options are either:
  • Do not --target-glib 2.32
  • Update Vala to at least 0.25.2
  • Instead of upgrading Vala, pick the bindings for Mutex and Cond from the new glib-2.0.vapi
  • Downgrade glib
To clarify, it's not a glib bug. It's an old valac bug in the glib-2.0.vapi bindings of Mutex and Cond  that became now critical after the glib implementation change.

The relevant Vala bug can be found here: https://bugzilla.gnome.org/show_bug.cgi?id=733500