GNOME Bugzilla – Bug 112425
Nautilus in infinite error loop
Last modified: 2017-07-02 13:48:02 UTC
Nautilus 2.3.1, when run from the command line, produces an infinite number of the following error messages: *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice ....etc ad nauseam. It also takes up nearly 100% of the cpu and a boatload of memory.
After exiting and re-entering gnome, nautilus now starts up with only two of the above error messages. A home directory window appears, but the throbber button keeps rotating and the nautilus process goes up to nearly 100% cpu. If I run it under gdb, wait until it hangs, ctrl-C and get a backtrace, this is what I come up with: ^C Program received signal SIGINT, Interrupt. 0xfece3e48 in gdk_pixbuf_get_width () (gdb) bt
+ Trace 36663
might be from the snap-to-grid patch, I'll take a look.
*** Bug 112793 has been marked as a duplicate of this bug. ***
if, in src/file-manager/fm-desktop-icon-view.c you change line 708 from: NAUTILUS_ICON_LAYOUT_T_B_L_R); to NAUTILUS_ICON_LAYOUT_L_R_T_B); it stops calling lay_down_icons_tblr() which is the function with the infinite loop in it. This is just a hack, but it works. Also, adding garnome to the CC, since it is in 0.24.2
okay, I have some more information. This seems related to bug 92333 . gtk_plug_size_allocate is getting called more than once, in that bug it happened to be doing it 3 times. Our bug is calling the gtk_plug_size_allocate method 4 times. The third time it calls it the data is correct, but the fourth (and final) time the height/width of the window is somehow corrupted. I am looking harder.
Created attachment 16512 [details] [review] the "at least it doesn't hang" patch
Confirmed that applying the patch makes 2.3.1 run without hanging on my system. Thanks for the workaround.
A similar patch is in cvs already.