Wireshark-bugs: [Wireshark-bugs] [Bug 7318] assertion failed when I quit wireshark without stopp
Date: Wed, 13 Jun 2012 20:43:31 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7318

--- Comment #18 from Guy Harris <[email protected]> 2012-06-13 20:43:30 PDT ---
The poll() is probably in the GLib main loop.

I'm not sure whether strace, when it prints

poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}], 3,
100) = 0 (Timeout)

is reporting the pollfd structures as passed *in* to poll() or the structures
as filled in *by* poll.  If it's reporting the structures filled in *by* poll,
for some reason it's not bothering to check FD 6.  If that's the sync pipe,
then that would explain why it's not closing - it's waiting for an EOF on the
sync pipe but, as it's not reading from the sync pipe, it's not seeing the EOF.

If that poll() is in the GLib main loop, at least one of the FDs is probably
the connection to the X server; my guess is that's FD 4, unless the X library
(Xlib or Xcb) is using a non-byte-stream local transport (I'm assuming you're
running this on a workstation/PC, so that the connection to the X server is
local rather than running over TCP).  I'm not sure what FD 3 is.

I'll see if I can figure out what's going on; this strongly indicates to me
that some code is, implicitly or explicitly, making assumptions that aren't
valid, and I'd *REALLY* prefer not to just paper over that by forcibly setting
the state of the capture_file structure and not cleanly stopping the capture.

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.