> Just a shot in the dark here. The only way I can think of this > occurring (Vwindow_list being too small), is that something modified > Vwindow_list when we don't expect it to be modified. I looked through > all the uses of Vwindow_list and window_list(), and they all look > kosher. The only modification seems to be setting Vwindow_list to nil. > But window_list() does call into lisp (nconc2, which calls Fnconc) when > constructing Vwindow_list, and it uses Vwindow_list as a temporary in > the process. Is it possible that during that call something happens > asynchronously (via gc?) that calls something that sets Vwindow_list > to nil again, while Vwindow_list is being constructed? Improbable but I attached some code that could detect such an incidence. Put a breakpoint at the Vwindow_list = window_list_2; line. > I don't think > so, off hand, but I'm grasping at straws. I also added a variable called `window-list-lengths' which records the last 20 or so last changes in the number of windows seen by window_list. Maybe you can detect some strange 2 ~> 6 or 6 ~> 2 change while running Gnus. I'm still not sure whether your daemon setup could be involved somehow. martin