Hi Swen, have many thanks for rerunning with symbols. @David: It's two bugs, confirmed on both 6.12.18 and 6.12.59 with Ubuntu. It is apparently caused by a circular path below /sys leading to an exceeded length of some internal path representation. The first bug is that the recursion was not noted (ten years ago I contributed that for WINE by collecting the inodes that have been visited, there may be better ideas now). The second bug is that BOINC should just spot the long path before there memory issue happens. Best regards, Steffen On 05/14/2011 02:34 PM, Swen Kühnlein wrote: > Hi, > > boinc always crashes when it starts; I can provide my /var/lib/boinc- > client dir if this is needed to reproduce. > > I've installed boinc-dbg now and ran boinc in gdb. Looking at the stack > backtrace the problem seems to be related to long paths inside the .wine > directory (didn't even know boinc uses wine): > > (gdb) bt > #0 0x00007ffff6465d05 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 > #1 0x00007ffff6469ab6 in abort () at abort.c:92 > #2 0x00007ffff649ed7b in __libc_message (do_abort=2, fmt=0x7ffff6585b23 "*** %s ***: %s terminated\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:189 > #3 0x00007ffff65301d7 in __fortify_fail (msg=0x7ffff6585aba "buffer overflow detected") at fortify_fail.c:32 > #4 0x00007ffff652f0f0 in __chk_fail () at chk_fail.c:29 > #5 0x00007ffff652e569 in _IO_str_chk_overflow (fp=0x6f7a, c=28538) at vsprintf_chk.c:35 > #6 0x00007ffff64a6b98 in _IO_default_xsputn (f=0x7fffffff9d50, data=, n=8) at genops.c:485 > #7 0x00007ffff647931d in _IO_vfprintf_internal (s=, format=, ap=) at vfprintf.c:1620 > #8 0x00007ffff652e604 in ___vsprintf_chk ( > s=0x7fffffff9f60 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., flags=1, slen=256, format=0x472171 "%s/%s", args=0x7fffffff9e70) at vsprintf_chk.c:86 > #9 0x00007ffff652e54a in ___sprintf_chk (s=, flags=, slen=, format=) > at sprintf_chk.c:33 > #10 0x0000000000462503 in sprintf ( > dirpath=0x7fffffffa1b0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffa1a8, recurse=true) at /usr/include/bits/stdio2.h:35 > #11 dir_size ( > dirpath=0x7fffffffa1b0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffa1a8, recurse=true) at filesys.cpp:385 > #12 0x000000000046252a in dir_size ( > dirpath=0x7fffffffa400 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffa3f8, recurse=true) at filesys.cpp:389 > #13 0x000000000046252a in dir_size ( > dirpath=0x7fffffffa650 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffa648, recurse=true) at filesys.cpp:389 > #14 0x000000000046252a in dir_size ( > dirpath=0x7fffffffa8a0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffa898, recurse=true) at filesys.cpp:389 > #15 0x000000000046252a in dir_size ( > dirpath=0x7fffffffaaf0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffaae8, recurse=true) at filesys.cpp:389 > #16 0x000000000046252a in dir_size ( > dirpath=0x7fffffffad40 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsyst"..., size=@0x7fffffffad38, recurse=true) at filesys.cpp:389 > #17 0x000000000046252a in dir_size ( > dirpath=0x7fffffffaf90 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy", size=@0x7fffffffaf88, recurse=true) at filesys.cpp:389 > #18 0x000000000046252a in dir_size ( > dirpath=0x7fffffffb1e0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices", size=@0x7fffffffb1d8, recurse=true) at filesys.cpp:389 > #19 0x000000000046252a in dir_size ( > dirpath=0x7fffffffb430 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem", size=@0x7fffffffb428, recurse=true) at filesys.cpp:389 > #20 0x000000000046252a in dir_size ( > dirpath=0x7fffffffb680 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy", size=@0x7fffffffb678, recurse=true) at filesys.cpp:389 > #21 0x000000000046252a in dir_size ( > dirpath=0x7fffffffb8d0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices", size=@0x7fffffffb8c8, recurse=true) at filesys.cpp:389 > #22 0x000000000046252a in dir_size ( > dirpath=0x7fffffffbb20 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem", size=@0x7fffffffbb18, recurse=true) at filesys.cpp:389 > #23 0x000000000046252a in dir_size ( > dirpath=0x7fffffffbd70 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy", size=@0x7fffffffbd68, recurse=true) at filesys.cpp:389 > ---Type to continue, or q to quit--- > #24 0x000000000046252a in dir_size ( > dirpath=0x7fffffffbfc0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices", size=@0x7fffffffbfb8, recurse=true) at filesys.cpp:389 > #25 0x000000000046252a in dir_size ( > dirpath=0x7fffffffc210 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem", > size=@0x7fffffffc208, recurse=true) at filesys.cpp:389 > #26 0x000000000046252a in dir_size ( > dirpath=0x7fffffffc460 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy", > size=@0x7fffffffc458, recurse=true) at filesys.cpp:389 > #27 0x000000000046252a in dir_size ( > dirpath=0x7fffffffc6b0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices", size=@0x7fffffffc6a8, > recurse=true) at filesys.cpp:389 > #28 0x000000000046252a in dir_size (dirpath=0x7fffffffc900 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy/subsystem", > size=@0x7fffffffc8f8, recurse=true) at filesys.cpp:389 > #29 0x000000000046252a in dir_size (dirpath=0x7fffffffcb50 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices/reg-dummy", > size=@0x7fffffffcb48, recurse=true) at filesys.cpp:389 > #30 0x000000000046252a in dir_size (dirpath=0x7fffffffcda0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem/devices", size=@0x7fffffffcd98, > recurse=true) at filesys.cpp:389 > #31 0x000000000046252a in dir_size (dirpath=0x7fffffffcff0 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy/subsystem", size=@0x7fffffffcfe8, > recurse=true) at filesys.cpp:389 > #32 0x000000000046252a in dir_size (dirpath=0x7fffffffd240 "./.wine/dosdevices/z:/sys/devices/platform/reg-dummy", size=@0x7fffffffd238, recurse=true) > at filesys.cpp:389 > #33 0x000000000046252a in dir_size (dirpath=0x7fffffffd490 "./.wine/dosdevices/z:/sys/devices/platform", size=@0x7fffffffd488, recurse=true) > at filesys.cpp:389 > #34 0x000000000046252a in dir_size (dirpath=0x7fffffffd6e0 "./.wine/dosdevices/z:/sys/devices", size=@0x7fffffffd6d8, recurse=true) at filesys.cpp:389 > #35 0x000000000046252a in dir_size (dirpath=0x7fffffffd930 "./.wine/dosdevices/z:/sys", size=@0x7fffffffd928, recurse=true) at filesys.cpp:389 > #36 0x000000000046252a in dir_size (dirpath=0x7fffffffdb80 "./.wine/dosdevices/z:", size=@0x7fffffffdb78, recurse=true) at filesys.cpp:389 > #37 0x000000000046252a in dir_size (dirpath=0x7fffffffddd0 "./.wine/dosdevices", size=@0x7fffffffddc8, recurse=true) at filesys.cpp:389 > #38 0x000000000046252a in dir_size (dirpath=0x7fffffffe020 "./.wine", size=@0x7fffffffe018, recurse=true) at filesys.cpp:389 > #39 0x000000000046252a in dir_size (dirpath=0x47e1de ".", size=@0x7fffffffe2b8, recurse=true) at filesys.cpp:389 > #40 0x0000000000432722 in CLIENT_STATE::read_global_prefs (this=0x696a40) at cs_prefs.cpp:454 > #41 0x00000000004172c8 in CLIENT_STATE::init (this=0x696a40) at client_state.cpp:424 > #42 0x0000000000448da2 in boinc_main_loop () at main.cpp:393 > #43 0x00007ffff6450eff in __libc_start_main (main=0x448ff0, argc=3, ubp_av=0x7fffffffe5b8, init=, > fini=, rtld_fini=, stack_end=0x7fffffffe5a8) at libc-start.c:226 > #44 0x0000000000405729 in _start () > > Since z: symlinks to / it is in fact a "symlink loop" inside > /sys/bus/platform/devices/reg-dummy: > > swen@cassiopeia:/var/lib/boinc-client/.wine/dosdevices/z:/sys/bus/platform/devices/reg-dummy$ ls -l > insgesamt 0 > -r--r--r-- 1 root root 4096 2011-05-14 13:52 modalias > drwxr-xr-x 2 root root 0 2011-05-14 14:23 power > lrwxrwxrwx 1 root root 0 2011-05-14 13:52 subsystem -> ../../../bus/platform > -rw-r--r-- 1 root root 4096 2011-05-14 13:52 uevent >