User-Agent: Mozilla/5.0 (X11; U; OpenBSD i386; en-GB; rv:1.8.0.5) Gecko/20060731 Firefox/1.5.0.5 Build Identifier: When starting Thunar, it displays its window for a split second and then segfaults. Reproducible: Always Steps to Reproduce: 1. Start Thunar. Actual Results: Segfault. Expected Results: Not to segfault. cairo 1.0.4 gcc 3.3.5 (propolice) exo 0.3.1.10rc1 glib 2.10.3 gtk+ 2.8.19 libxfce4mcs 4.2.3 libxfce4util 4.2.3.2 libxfcegui4 4.2.3
Created attachment 772 Backtrace
Hm, a crash in getdirentries() is rather unlikely. Can you grab backtraces from the other threads as well? You can switch between threads using the "thread <id>" command, where the <id>s are usually in the range of 1 to 4 (tho that may differ depending on the system).
Created attachment 773 Backtrace (again) The MIME type of the previous backtrace attachment was incorrectly auto-detected.
Created attachment 774 Backtraces from threads
(In reply to comment #2) > Hm, a crash in getdirentries() is rather unlikely. Can you grab backtraces from > the other threads as well? You can switch between threads using the "thread > <id>" command, where the <id>s are usually in the range of 1 to 4 (tho that may > differ depending on the system). Done. See the attachment.
Hm, looks like it does indeed crash in getdirentries(), which shouldn't happen. Can you ask on an OpenBSD mailinglist about this? Because according to the man page we use getdirentries() properly (and afterall it should never crash in a system call).
(In reply to comment #6) > Hm, looks like it does indeed crash in getdirentries(), which shouldn't happen. > Can you ask on an OpenBSD mailinglist about this? Because according to the man > page we use getdirentries() properly (and afterall it should never crash in a > system call). I've mailed the OpenBSD mailing list earlier this evening and so far I have received one reply blaiming alloca(). See: <http://marc.theaimsgroup.com/?l=openbsd-misc&m=115765565527489&w=2>.
Created attachment 779 Use calloc() instead of alloca() I received this patch from Tobias Ulmer <tobiasu at tmux.org> which fixes the crash for me.
Hm, alloca() is probably not the best bet, but atleast that shouldn't make a syscall crash. Anyway, I'll add a work-around.
Fixed with revision 23110. 2006-09-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-os-bsd.c(_thunar_vfs_os_scandir): Allocate the directory scan buffer on the heap rather than the stack to avoid crashes on systems with very small thread stacks. Bug #2269.