GNOME Bugzilla – Bug 540161
GLib critical warning & possible hang on ctrl-c
Last modified: 2008-11-27 19:40:29 UTC
Please describe the problem: Hi, We're using the VTE library in the Geany lightweight IDE. I noticed this GLib message when we start the VTE: GLib-GObject-CRITICAL **: g_object_notify_queue_thaw: assertion `nqueue->freeze_count > 0' failed I'm reporting this because Geany hangs when pressing Ctrl-C in the VTE widget with VTE 0.16.14. I'm not sure if this is related to the GLib warning, or if it is libvte or Geany that is at fault. But according to one user, this only started happening with VTE 0.16.14. For reference, the Geany bug report is here: https://sourceforge.net/tracker/index.php?func=detail&aid=1990323&group_id=153444&atid=787791 Steps to reproduce: 1. Start Geany 2. Focus the VTE 3. Press Ctrl-C Actual results: Geany prints 2 more indentical GLib warnings as the one on startup, then hangs indefinitely. Expected results: The VTE is reset as usual. Does this happen every time? Yes (unless Override Geany Keybindings is enabled, but Geany's ctrl-c copy keybinding just does nothing when the VTE is focused). Other information: Backtrace with --g-fatal-warnings after the above GLib warning: (gdb) bt
+ Trace 201364
I forgot, my system is Fedora Core 5 linux; gtk2-2.8.20-1 glib2-2.10.3-1 This occurs with Geany SVN, but probably with Geany 0.14 as well.
Confirmed on vte trunk.
I should have been more precise. I can repro the hang, but there's no critical warnings.
OK, I'm not bothered about the warnings, just wondered if they might be related. Thanks for looking into this.
Some more info: I mentioned that the hang doesn't occur when 'Override Geany Keybindings' is enabled. When it is disabled (the default), the hang after ctrl-c occurs in vte_keypress() of the Geany source file src/vte.c, which does this: if (pid > 0) { kill(pid, SIGINT); pid = 0; } vf->vte_terminal_reset(VTE_TERMINAL(widget), TRUE, TRUE); vte_start(widget); where pid is the result of vte_terminal_fork_command(). This code hangs Geany, specifically, after the vte_start() call. (vf is just a struct of function pointers for the VTE API). I found that the hang is not really related to pressing ctrl-c, just when Geany tries to restart the terminal - Geany also hangs when using the VTE popup menu Restart command.
Sorry, vte_start() is a Geany function that calls the vte_terminal_fork_command(), which is the final VTE function before Geany hangs.
We've removed the call to vte_terminal_fork_command() when resetting the VTE, and this avoids the hang (in geany SVN). Sometimes with VTE 0.16.14 the reset leaves a blank terminal (with no prompt), but pressing enter makes it then display as normal.
Possibly this is the same problem as bug 538344.
Can you please test with vte >= 0.17.3 and see if that fixes it? If so, this is a dup of bug 538344.
Ping? Can you please test with vte >= 0.17.3 and see if that fixes it? If so, this is a dup of bug 538344.
I just tested it with SVN r2205 of vte (0.17.5). Everything seems to work fine, no more freezes. Sorry for the late reply.
Thanks! Marking as dup. *** This bug has been marked as a duplicate of 538344 ***