GNOME Bugzilla – Bug 118534
gnome-terminal crashes when closing many tabs
Last modified: 2004-12-22 21:47:04 UTC
I greate a new gnome-terminal with many tabs (~10) via a shell script that reads in a list of remote hosts from a file. Each tab corresponds with an ssh session to a given host. When the process running on the remote host terminates, the tabs are supposed to close. When all the remote processes end at once, many of the tabs close, but a few of them linger around until the crash dialog is displayed. Here is my shell script that opens the tabs: #!/bin/sh PROFILE_NAME="blackOnYellow" TERMINAL_GEOMETRY="105x40" GTCOMMAND="gnome-terminal --geometry $TERMINAL_GEOMETRY" SCALE_SERVER="10.131.0.99" if [ "$1" != "" ] then SCALE_SERVER=$1 fi for SCALE_CLIENT in `cat scale_clients` do #$TODO: allow for comments in scale clients file, '#' GTCOMMAND=$GTCOMMAND" --tab-with-profile=$PROFILE_NAME" GTCOMMAND=$GTCOMMAND" --title=$SCALE_CLIENT" GTCOMMAND=$GTCOMMAND" --command \"ssh $SCALE_CLIENT 'chmod a+x ./*.sh; ./clie nt_connect.sh" GTCOMMAND=$GTCOMMAND" $SCALE_SERVER'\"" done echo "$GTCOMMAND" echo "$GTCOMMAND" | /bin/sh
Thanks for the bug report. Without a stack trace from the crash it's very hard to determine what caused the crash. Please see http://bugzilla.gnome.org/getting-traces.cgi for more information about getting a useful stack trace. We also need to know the version of gnome-termnal.
Marking as NEEDINFO, as per John's comments.
I'm not going to do a stack trace, but this is 100% reproducable so it should be simple enough for a developer to get what they need. Gnome terminal 2.2.1, Red Hat linux 9.0
From email: I'm not going to get a stack trace on this any time soon. Here's the best I can do, the rest is up to you, take it or leave it: Gnome-terminal (and all child processes) crash hard when every tab in a window with many (7+) tabs closes at once. This is 100% repeatable, I can't imagine it would be hard to get your own stack traces/etc on this. In the original bug report I attached the script I was using to cause it. Several comments: 1) If it's not so hard to get a stack trace why don't you get one? 2) Many bugs are specific to a certain version of gnome-terminal or to a specific distro. Personally, I'm running GNOMEVER 2.3 from cvs, so I can't guarantee I would get the same crash. 3) Many bugs require very certain setups or tweaking to the system that aren't at all obvious. Again, that would make it hard to know whether we could reproduce your bug. 4) If you don't care enough to get a stack trace, why should we? I'm sorry if that's harsh, but I look through hundreds/thousands of bugs. John and Havoc probably look through more. We don't have time to try to duplicate every one. Yes, it may have taken me less time to try to duplicate than type this up, but then I wouldn't be able to save this response for other people that have said similar things. :) We can wait patiently for your stack trace, or close this bug out in a month or two if it doesn't matter to you.
I do get this if I just create a bunch of tabs and close the terminal (no scripts involved): (gnome-terminal:29389): Gdk-CRITICAL **: file gdkgc.c: line 464 (gdk_gc_get_colormap): assertion `GDK_IS_GC (gc)' failed Probably with valgrind it would be pretty obvious pretty quickly what's wrong. Should be the same as this bug, doubtless a memory corruption. Anyway, it looks reproduceable or not, I'd say we can try fixing it up and otherwise close as INVALID/WORKSFORME rather than NEEDINFO.
Here's a simpler script that crashes gnome-terminal every time. (No external data files needed) #!/bin/sh declare -i c=0 GTCOMMAND="gnome-terminal --geometry 100x30" while [ $c -lt 12 ] do echo $c let "c=c+1" GTCOMMAND="$GTCOMMAND --tab-with-profile=Default" GTCOMMAND="$GTCOMMAND --command \"ls; sleep 4\"" done echo $GTCOMMAND | /bin/sh
I can't duplicate the crash with the most recent script on 2.2.1. I also can't (if I'm understanding this correctly) duplicate Havoc's crash. This is why we need to get a stack trace from the original reporter. With no stack trace, there's no way to tell if Havoc's example above is triggering the same bug as the original reporter.
gdb info: (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... ** ERROR **: file vte.c: line 6958 (vte_terminal_process_incoming): assertion failed: (_vte_buffer_length(terminal->pvt->incoming) > 0) aborting... Program received signal SIGABRT, Aborted. [Switching to Thread 1087387360 (LWP 31283)] 0xffffe002 in ?? () (gdb) thread apply all bt
+ Trace 39254
Thread 1 (Thread 1087387360 (LWP 31283))
Yeah, that stack trace makes it clear that this is a duplicate of the 107234 tracker bug that Nalin marked as fixed as of April 22. Havoc: Looks like you get a different crash--are you using a newer version of gnome-terminal that perhaps has a different bug? *** This bug has been marked as a duplicate of 107234 ***
I have some random snapshot of gnome-terminal/vte, so my bug may be gone in latest. I'll file it separately later if it keeps happening.
I just ran back across this bug and re-read my comments from July 31. I feel I was definitely too harsh. I'm sorry, ec9098@go.com--please don't let this mistake by a volunteer stop you from filing future bugs to help make Gnome better. Thank you for taking the time to submit this bug report and follow up on it.