Wireshark-dev: Re: [Wireshark-dev] Win32 Buildbot failing with "Capture 10 packets" Failed! exi

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Sat, 10 Mar 2012 01:38:02 -0800
On Mar 9, 2012, at 4:01 AM, Anders Broman wrote:

> If I try to run /wireshark-gtk2/wireshark -k: 127 wireshark crashes in file_util.c in  ws_load_library(gchar *library_name)

Actually, no, at least not with my tests; it appears to crash as a result of this change between the last build that didn't crash and the first build that did:

Index: ui/gtk/main_statusbar.c
===================================================================
--- ui/gtk/main_statusbar.c	(revision 41422)
+++ ui/gtk/main_statusbar.c	(revision 41424)

	...

@@ -719,6 +717,10 @@
 {
     /* go back to "No packets" */
     packets_bar_update();
+	/* Remove comments icon */
+	status_capture_comment_hide();
+	/* Remove experts icon */
+	status_expert_hide();
 }
 
If I remove those four lines, it doesn't crash - and if I put back the status_capture_comment_hide() call, it still doesn't crash, so it's the status_expert_hide() that ultimately causes the crash.

The widgets that status_expert_hide() hides are event boxes, which, according to the documentation:

	http://developer.gnome.org/gtk3/stable/GtkEventBox.html

have their own windows.  Perhaps this is an issue with the Windows version of GTK+?

(No, I don't know why that only happens with "-k".  Adding null pointer checks in status_expert_hide() doesn't fix the problem, but perhaps adding "-k" means that those widgets have been created, but *not* yet properly initialized, by the time status_expert_hide() is called?)