On Tue, Sep 18, 2012 at 10:40 AM, Troy Benjegerdes <[email protected]> wrote:
> On my server, amd64 debian stable, it works.
> On my laptop, amd64-debian stable + backports + some testing, segaults.
>
> gdb/backtraces are not particularly informative, either (see end of message)

I prefer not to take your word for it. Share the backtrace instead?

> Is there a clean cross-platform way to install a segfault handler so we can
> dump this kind of backtraces out automatically, particularly when doing 
> something
> like a 'make check' smoke test?
>
> ... some references ...
>
> https://wiki.ubuntu.com/Apport
> http://www.cygwin.com/ml/gdb/2007-06/msg00345.html
>
>
>
> On Mon, Sep 17, 2012 at 11:39:55PM -0400, Derrick Brashear wrote:
>> So. Were you perchance using it on a Mac? Probably a 64 bit Intel mac?
>>
>> http://gerrit.openafs.org/#change,8132
>>
>> As nearly as I can tell, this is a very specific problem. The code is fine. 
>> The
>> circumstances of building afsd.fuse meant it was collateral damage when we
>> started using roken, but only on MacOS, and probably only for non-32
>> bit pointers,
>> because MacOS does something odd with dirent.h
>>
>> On Mon, Sep 17, 2012 at 1:20 PM, Derrick Brashear <[email protected]> wrote:
>> > On Mon, Sep 17, 2012 at 1:15 PM, Troy Benjegerdes <[email protected]> wrote:
>> >> I'm looking to get all the low-hanging fruit with unskilled testing.
>> >> Particularly with regressions like this:
>> >>
>> >> hozer@six:~/src/openafs-fuse-git/tests/fuse$ 
>> >> /home/hozer/src/openafs-fuse-git/tests/fuse/../../src/afsd/afsd.fuse 
>> >> -dynroot -fakestat -d -confdir 
>> >> /home/hozer/src/openafs-fuse-git/tests/fuse/conf -cachedir 
>> >> /home/hozer/src/openafs-fuse-git/tests/fuse/vcache -mountdir 
>> >> /home/hozer/src/openafs-fuse-git/tests/fuse/mntdir
>> >> FUSE library version: 2.8.6
>> >> nullpath_ok: 0
>> >> unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
>> >> INIT: 7.17
>> >> flags=0x0000047b
>> >> max_readahead=0x00020000
>> >> Starting AFS cache scan...found 0 non-empty cache files (0%).
>> >> afsd: All AFS daemons started.
>> >> Segmentation fault
>
>
> hozer@six:~/src/openafs-fuse-git/tests/fuse$ file ../../src/afsd/afsd.fuse
> ../../src/afsd/afsd.fuse: ELF 64-bit LSB executable, x86-64, version 1 
> (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, 
> BuildID[sha1]=0xd04485c4228faf5d05f75b9f31b37939d54074d7, not stripped
> hozer@six:~/src/openafs-fuse-git/tests/fuse$ gdb ../../src/afsd/afsd.fuse
> GNU gdb (GDB) 7.4.1-debian
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from 
> /home/hozer/src/openafs-fuse-git/src/afsd/afsd.fuse...done.
> (gdb) run -dynroot -fakestat -d -confdir 
> /home/hozer/src/openafs-fuse-git/tests/fuse/conf -cachedir 
> /home/hozer/src/openafs-fuse-git/tests/fuse/vcache -mountdir 
> /home/hozer/src/openafs-fuse-git/tests/fuse/mntdir
> Starting program: /home/hozer/src/openafs-fuse-git/src/afsd/afsd.fuse 
> -dynroot -fakestat -d -confdir 
> /home/hozer/src/openafs-fuse-git/tests/fuse/conf -cachedir 
> /home/hozer/src/openafs-fuse-git/tests/fuse/vcache -mountdir 
> /home/hozer/src/openafs-fuse-git/tests/fuse/mntdir
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> FUSE library version: 2.8.6
> nullpath_ok: 0
> [New Thread 0x7ffff697a700 (LWP 21033)]
> [New Thread 0x7ffff6179700 (LWP 21034)]
> unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
> INIT: 7.17
> flags=0x0000047b
> max_readahead=0x00020000
> [New Thread 0x7ffff7f0c700 (LWP 21035)]
> [New Thread 0x7ffff7eee700 (LWP 21036)]
> [New Thread 0x7ffff7e4f700 (LWP 21037)]
> [New Thread 0x7ffff570d700 (LWP 21038)]
> [New Thread 0x7ffff56ef700 (LWP 21039)]
> [New Thread 0x7ffff5690700 (LWP 21040)]
> [New Thread 0x7ffff5631700 (LWP 21041)]
> [New Thread 0x7ffff55d2700 (LWP 21042)]
> [New Thread 0x7ffff5573700 (LWP 21043)]
> Starting AFS cache scan...found 0 non-empty cache files (0%).
> afsd: All AFS daemons started.
> [New Thread 0x7ffff54d3700 (LWP 21044)]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7ffff697a700 (LWP 21033)]
> 0x0000000000000000 in ?? ()
> (gdb) bt
> #0  0x0000000000000000 in ?? ()
> #1  0x0000000000000000 in ?? ()
> (gdb) thread
> [Current thread is 2 (Thread 0x7ffff697a700 (LWP 21033))]
> (gdb) help thread
> Use this command to switch between threads.
> The new thread ID must be currently known.
>
> List of thread subcommands:
>
> thread apply -- Apply a command to a list of threads
> thread find -- Find threads that match a regular expression
> thread name -- Set the current thread's name
>
> Type "help thread" followed by thread subcommand name for full documentation.
> Type "apropos word" to search for commands related to "word".
> Command name abbreviations are allowed if unambiguous.
> (gdb) thread apply gdb
> (gdb) thread apply bt
> (gdb) thread apply bt all
> (gdb) help thread apply
> Apply a command to a list of threads.
>
> List of thread apply subcommands:
>
> thread apply all -- Apply a command to all threads
>
> Type "help thread apply" followed by thread apply subcommand name for full 
> documentation.
> Type "apropos word" to search for commands related to "word".
> Command name abbreviations are allowed if unambiguous.
> (gdb) thread apply all bt
>
> Thread 13 (Thread 0x7ffff54d3700 (LWP 21044)):
> #0  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:385
> #1  0x000000000040402f in uafs_InitThread ()
> #2  0x0000000000404075 in get_user_struct ()
> #3  0x0000000000405c4d in call_syscall ()
> #4  0x000000000040e79d in afsd_call_syscall ()
> #5  0x000000000040ba6c in call_syscall_thread ()
> #6  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #7  0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #8  0x0000000000000000 in ?? ()
>
> Thread 12 (Thread 0x7ffff5573700 (LWP 21043)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000404e81 in afs_osi_Sleep ()
> #2  0x0000000000432766 in afs_BackgroundDaemon ()
> #3  0x000000000046659f in afs_syscall_call ()
> #4  0x0000000000449ef6 in Afs_syscall ()
> #5  0x0000000000405c65 in call_syscall ()
> #6  0x000000000040e79d in afsd_call_syscall ()
> #7  0x000000000040ba07 in afsd_syscall ()
> #8  0x000000000040ba27 in daemon_thread ()
> #9  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #10 0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #11 0x0000000000000000 in ?? ()
>
> Thread 11 (Thread 0x7ffff55d2700 (LWP 21042)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000404e81 in afs_osi_Sleep ()
> #2  0x0000000000432766 in afs_BackgroundDaemon ()
> #3  0x000000000046659f in afs_syscall_call ()
> #4  0x0000000000449ef6 in Afs_syscall ()
> #5  0x0000000000405c65 in call_syscall ()
> #6  0x000000000040e79d in afsd_call_syscall ()
> #7  0x000000000040ba07 in afsd_syscall ()
> #8  0x000000000040ba27 in daemon_thread ()
> #9  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #10 0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #11 0x0000000000000000 in ?? ()
>
> Thread 10 (Thread 0x7ffff5631700 (LWP 21041)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000404e81 in afs_osi_Sleep ()
> #2  0x0000000000432766 in afs_BackgroundDaemon ()
> ---Type <return> to continue, or q <return> to quit---
> #3  0x000000000046659f in afs_syscall_call ()
> #4  0x0000000000449ef6 in Afs_syscall ()
> #5  0x0000000000405c65 in call_syscall ()
> #6  0x000000000040e79d in afsd_call_syscall ()
> #7  0x000000000040ba07 in afsd_syscall ()
> #8  0x000000000040ba27 in daemon_thread ()
> #9  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #10 0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #11 0x0000000000000000 in ?? ()
>
> Thread 9 (Thread 0x7ffff5690700 (LWP 21040)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000404e81 in afs_osi_Sleep ()
> #2  0x0000000000432766 in afs_BackgroundDaemon ()
> #3  0x000000000046659f in afs_syscall_call ()
> #4  0x0000000000449ef6 in Afs_syscall ()
> #5  0x0000000000405c65 in call_syscall ()
> #6  0x000000000040e79d in afsd_call_syscall ()
> #7  0x000000000040ba07 in afsd_syscall ()
> #8  0x000000000040ba27 in daemon_thread ()
> #9  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #10 0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #11 0x0000000000000000 in ?? ()
>
> Thread 8 (Thread 0x7ffff56ef700 (LWP 21039)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000404bd6 in afs_osi_Wait ()
> #2  0x0000000000431548 in afs_CheckServerDaemon ()
> #3  0x0000000000466547 in afs_syscall_call ()
> #4  0x0000000000449ef6 in Afs_syscall ()
> #5  0x0000000000405c65 in call_syscall ()
> #6  0x000000000040e79d in afsd_call_syscall ()
> #7  0x000000000040ba6c in call_syscall_thread ()
> #8  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #9  0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #10 0x0000000000000000 in ?? ()
>
> Thread 7 (Thread 0x7ffff570d700 (LWP 21038)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000404bd6 in afs_osi_Wait ()
> #2  0x0000000000431da2 in afs_Daemon ()
> #3  0x0000000000466528 in afs_syscall_call ()
> #4  0x0000000000449ef6 in Afs_syscall ()
> #5  0x0000000000405c65 in call_syscall ()
> ---Type <return> to continue, or q <return> to quit---
> #6  0x000000000040e79d in afsd_call_syscall ()
> #7  0x000000000040ba6c in call_syscall_thread ()
> #8  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #9  0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #10 0x0000000000000000 in ?? ()
>
> Thread 6 (Thread 0x7ffff7e4f700 (LWP 21037)):
> #0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
>     at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
> #1  0x000000000041d5ab in afs_rxevent_daemon ()
> #2  0x000000000046661b in afs_syscall_call ()
> #3  0x0000000000449ef6 in Afs_syscall ()
> #4  0x0000000000405c65 in call_syscall ()
> #5  0x000000000040e79d in afsd_call_syscall ()
> #6  0x000000000040ba6c in call_syscall_thread ()
> #7  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #8  0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #9  0x0000000000000000 in ?? ()
>
> Thread 5 (Thread 0x7ffff7eee700 (LWP 21036)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at 
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1  0x0000000000415cfd in rx_GetCall ()
> #2  0x0000000000415f81 in rxi_ServerProc ()
> #3  0x000000000041d7ad in rx_ServerProc ()
> #4  0x000000000042c033 in afs_RXCallBackServer ()
> #5  0x00000000004663a3 in afs_syscall_call ()
> #6  0x0000000000449ef6 in Afs_syscall ()
> #7  0x0000000000405c65 in call_syscall ()
> #8  0x000000000040e79d in afsd_call_syscall ()
> #9  0x000000000040ba6c in call_syscall_thread ()
> #10 0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #11 0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #12 0x0000000000000000 in ?? ()
>
> Thread 4 (Thread 0x7ffff7f0c700 (LWP 21035)):
> #0  0x00007ffff779f5ad in recvmsg () at ../sysdeps/unix/syscall-template.S:82
> #1  0x000000000041dcb3 in rxi_Recvmsg ()
> #2  0x00000000004211be in rxi_ReadPacket ()
> #3  0x000000000041d690 in rxi_ListenerProc ()
> #4  0x000000000041db13 in rxk_Listener ()
> #5  0x00000000004664bf in afs_syscall_call ()
> #6  0x0000000000449ef6 in Afs_syscall ()
> #7  0x0000000000405c65 in call_syscall ()
> #8  0x000000000040e79d in afsd_call_syscall ()
> ---Type <return> to continue, or q <return> to quit---
> #9  0x000000000040ba6c in call_syscall_thread ()
> #10 0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #11 0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #12 0x0000000000000000 in ?? ()
>
> Thread 3 (Thread 0x7ffff6179700 (LWP 21034)):
> #0  0x00007ffff779f18d in read () at ../sysdeps/unix/syscall-template.S:82
> #1  0x00007ffff711fc5d in ?? () from /usr/lib/libfuse.so.2
> #2  0x00007ffff71201c6 in ?? () from /usr/lib/libfuse.so.2
> #3  0x00007ffff7797b50 in start_thread (arg=<optimized out>) at 
> pthread_create.c:304
> #4  0x00007ffff6a5390d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #5  0x0000000000000000 in ?? ()
>
> Thread 2 (Thread 0x7ffff697a700 (LWP 21033)):
> #0  0x0000000000000000 in ?? ()
> #1  0x0000000000000000 in ?? ()
>
> Thread 1 (Thread 0x7ffff7fd4700 (LWP 21028)):
> #0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
> #1  0x00007ffff71203f8 in fuse_session_loop_mt () from /usr/lib/libfuse.so.2
> #2  0x00007ffff712577d in ?? () from /usr/lib/libfuse.so.2
> #3  0x0000000000403cb3 in main (argc=<optimized out>, argv=0x7fffffffe0e8) at 
> ./afsd_fuse.c:578
>



-- 
Derrick
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to