Page fault on FreeBSD crashes system

Hello I am using v0.12.7 on a FreeBSD 10.2-RELEASE system, starting the Syncthing binary from a terminal. Everything works great until I try and close Syncthing. Regardless of whether I close Syncthing via the web GUI or killing the process at the command line, closing Syncthing causes a kernel panic. Any suggestions as to possible causes/solutions would be gratefully received. Many thanks

FreeBSD tektite 10.2-RELEASE-p7 FreeBSD 10.2-RELEASE-p7 #0: Mon Nov  2 14:19:39 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

panic: page fault

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address    = 0x368
fault code        = supervisor read data, page not present
instruction pointer    = 0x20:0xffffffff80b1f204
stack pointer            = 0x28:0xfffffe04560fe590
frame pointer            = 0x28:0xfffffe04560fe600
code segment        = base 0x0, limit 0xfffff, type 0x1b
            = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags    = interrupt enabled, resume, IOPL = 0
current process        = 1418 (syncthing)
trap number        = 12
panic: page fault
cpuid = 3
KDB: stack backtrace:
#0 0xffffffff80984e30 at kdb_backtrace+0x60
#1 0xffffffff809489e6 at vpanic+0x126
#2 0xffffffff809488b3 at panic+0x43
#3 0xffffffff80d4aa8b at trap_fatal+0x36b
#4 0xffffffff80d4ad8d at trap_pfault+0x2ed
#5 0xffffffff80d4a42a at trap+0x47a
#6 0xffffffff80d307a2 at calltrap+0x8
#7 0xffffffff80b0e2c3 at in6_mc_leave+0x83
#8 0xffffffff80b0eded at ip6_freemoptions+0x10d
#9 0xffffffff80a73428 at in_pcbfree+0x178
#10 0xffffffff80b308a1 at udp6_detach+0xe1
#11 0xffffffff809bf4b1 at sofree+0x171
#12 0xffffffff809bf99f at soclose+0x34f
#13 0xffffffff808fde29 at _fdrop+0x29
#14 0xffffffff809006ce at closef+0x21e
#15 0xffffffff809002e9 at fdescfree+0x4f9
#16 0xffffffff8090cbd9 at exit1+0x569
#17 0xffffffff8090c66e at sys_sys_exit+0xe
Uptime: 43m20s
Dumping 801 out of 16051 MB:..2%..12%..22%..32%..42%..52%..62%..72%..82%..92%

Reading symbols from /boot/kernel/zfs.ko.symbols...done.
Loaded symbols for /boot/kernel/zfs.ko.symbols
Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
Loaded symbols for /boot/kernel/opensolaris.ko.symbols
Reading symbols from /boot/kernel/i915kms.ko.symbols...done.
Loaded symbols for /boot/kernel/i915kms.ko.symbols
Reading symbols from /boot/kernel/iicbb.ko.symbols...done.
Loaded symbols for /boot/kernel/iicbb.ko.symbols
Reading symbols from /boot/kernel/iicbus.ko.symbols...done.
Loaded symbols for /boot/kernel/iicbus.ko.symbols
Reading symbols from /boot/kernel/iic.ko.symbols...done.
Loaded symbols for /boot/kernel/iic.ko.symbols
Reading symbols from /boot/kernel/drm2.ko.symbols...done.
Loaded symbols for /boot/kernel/drm2.ko.symbols
Reading symbols from /boot/kernel/ng_ubt.ko.symbols...done.
Loaded symbols for /boot/kernel/ng_ubt.ko.symbols
Reading symbols from /boot/kernel/netgraph.ko.symbols...done.
Loaded symbols for /boot/kernel/netgraph.ko.symbols
Reading symbols from /boot/kernel/ng_hci.ko.symbols...done.
Loaded symbols for /boot/kernel/ng_hci.ko.symbols
Reading symbols from /boot/kernel/ng_bluetooth.ko.symbols...done.
Loaded symbols for /boot/kernel/ng_bluetooth.ko.symbols
Reading symbols from /boot/kernel/ng_l2cap.ko.symbols...done.
Loaded symbols for /boot/kernel/ng_l2cap.ko.symbols
Reading symbols from /boot/kernel/ng_btsocket.ko.symbols...done.
Loaded symbols for /boot/kernel/ng_btsocket.ko.symbols
Reading symbols from /boot/kernel/ng_socket.ko.symbols...done.
Loaded symbols for /boot/kernel/ng_socket.ko.symbols
Reading symbols from /boot/kernel/pflog.ko.symbols...done.
Loaded symbols for /boot/kernel/pflog.ko.symbols
Reading symbols from /boot/kernel/pf.ko.symbols...done.
Loaded symbols for /boot/kernel/pf.ko.symbols
#0  doadump (textdump=<value optimized out>) at pcpu.h:219
219    pcpu.h: No such file or directory.
    in pcpu.h
(kgdb) #0  doadump (textdump=<value optimized out>) at pcpu.h:219
#1  0xffffffff80948642 in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:451
#2  0xffffffff80948a25 in vpanic (fmt=<value optimized out>, 
    ap=<value optimized out>) at /usr/src/sys/kern/kern_shutdown.c:758
#3  0xffffffff809488b3 in panic (fmt=0x0)
    at /usr/src/sys/kern/kern_shutdown.c:687
#4  0xffffffff80d4aa8b in trap_fatal (frame=<value optimized out>, 
    eva=<value optimized out>) at /usr/src/sys/amd64/amd64/trap.c:851
#5  0xffffffff80d4ad8d in trap_pfault (frame=0xfffffe04560fe4e0, 
    usermode=<value optimized out>) at /usr/src/sys/amd64/amd64/trap.c:674
#6  0xffffffff80d4a42a in trap (frame=0xfffffe04560fe4e0)
    at /usr/src/sys/amd64/amd64/trap.c:440
#7  0xffffffff80d307a2 in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:236
#8  0xffffffff80b1f204 in mld_change_state (inm=0xfffff800ba987800, delay=0)
    at /usr/src/sys/netinet6/mld6.c:1904
#9  0xffffffff80b0e2c3 in in6_mc_leave (inm=0xfffff800ba987800, 
    imf=<value optimized out>) at /usr/src/sys/netinet6/in6_mcast.c:1303
#10 0xffffffff80b0eded in ip6_freemoptions (imo=0xfffff8000f366d40)
    at /usr/src/sys/netinet6/in6_mcast.c:1547
#11 0xffffffff80a73428 in in_pcbfree (inp=0xfffff8000f6be498)
    at /usr/src/sys/netinet/in_pcb.c:1202
#12 0xffffffff80b308a1 in udp6_detach (so=<value optimized out>)
    at /usr/src/sys/netinet6/udp6_usrreq.c:1098
#13 0xffffffff809bf4b1 in sofree (so=0xfffff8011971c828)
    at /usr/src/sys/kern/uipc_socket.c:747
#14 0xffffffff809bf99f in soclose (so=<value optimized out>)
    at /usr/src/sys/kern/uipc_socket.c:849
#15 0xffffffff808fde29 in _fdrop (fp=0xfffff801d83fbeb0, td=0x0) at file.h:343
#16 0xffffffff809006ce in closef (fp=<value optimized out>, 
    td=<value optimized out>) at /usr/src/sys/kern/kern_descrip.c:2338
#17 0xffffffff809002e9 in fdescfree (td=0xfffff801d82ae4a0)
    at /usr/src/sys/kern/kern_descrip.c:2106
#18 0xffffffff8090cbd9 in exit1 (td=0xfffff801d82ae4a0, 
    rv=<value optimized out>) at /usr/src/sys/kern/kern_exit.c:369
#19 0xffffffff8090c66e in sys_sys_exit (td=0xfffff800ba987800, 
    uap=<value optimized out>) at /usr/src/sys/kern/kern_exit.c:179
#20 0xffffffff80d4b3a7 in amd64_syscall (td=0xfffff801d82ae4a0, traced=0)
    at subr_syscall.c:134
#21 0xffffffff80d30a8b in Xfast_syscall ()
    at /usr/src/sys/amd64/amd64/exception.S:396
#22 0x00000000004a05cb in ?? ()
Previous frame inner to this frame (corrupt stack?)
Current language:  auto; currently minimal
(kgdb)

That’s a FreeBSD kernel bug. FreeBSD seems particularly fragile in the IPv6/multicast code. There was a similar one earlier: http://lists.freebsd.org/pipermail/freebsd-bugs/2015-June/062369.html

Disabling local discovery may work around it.

Just to confirm, setting localAnnounceEnabled to false in config.xml resolves this issue.
Thanks very much indeed for your assistance!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.