Hi Guys, Posted this to the freebsd-general mailing list. As I have heard nothing, I thought it would be appropriate to file a PR. There seems to be an issue that has cropped up since upgrading from 9.1-RELEASE (amd64) to 9.2-RELEASE (amd64)), in that a port (net-im/jabber) crashes frequently with signal 10 errors frequently (bus error) when built with the version of Clang shipped in 9.2-RELEASE. ----------- pid 1880 (jabberd14), uid 93: exited on signal 10 pid 8368 (jabberd14), uid 93: exited on signal 10 pid 8586 (jabberd14), uid 93: exited on signal 10 pid 9100 (jabberd14), uid 93: exited on signal 10 pid 9198 (jabberd14), uid 93: exited on signal 10 pid 9314 (jabberd14), uid 93: exited on signal 10 pid 24565 (jabberd14), uid 93: exited on signal 10 ---------- I have recompiled this port without Clang (using the base gcc compiler) and it has not crashed once since (sig 10 bus error crashes are gone). Funnily enough, in FreeBSD 9.1-RELEASE, the same port compiled with Clang 3.1 did not crash ever. So it is a reasonable assumption that the issue has to be related to Clang 3.3. I have the following in my /etc/make.conf (for clang building): root@srv:~ # cat /etc/make.conf NO_PROFILE=true CC=clang CXX=clang++ CPP=clang-cpp Whilst building the port with the base compiler is a workaround, it's not a long term solution, since Clang will be the default Compiler in the not so distant future. It appears there is no maintainer for this port? Software= jabber-1.6.1.1_13,1 MAINTAINER= ports@FreeBSD.org COMMENT= XMPP/Jabber server daemon I assume the above email is just a generic email address for ports who do not have a maintainer? I suspect the issue to be compiler specific. How-To-Repeat: Build the net-im/jabber port using clang. I have the following options enabled for the port 'config': * ipv6 * MySQL So some basic configuration so that the software will run. Crashes can be observed anywhere from 5-10 minutes after starting the software or maybe even 2 hours later. There is no specific event in any log that seems to lead to the crash, it appears to be entirely random.
Have run the program in gdb with debugging symbols: --------------- Program received signal SIGILL, Illegal instruction. [Switching to Thread 804407400 (LWP 100136/jabberd14)] 0x0000000804a3ef6d in mod_privacy_end_session (m=0x8047b0e68, arg=0x0) at mod_privacy.cc:1522 1522 mod_privacy_free_current_list_definitions(m->s); ---------- bt -------------- (gdb) bt #0 0x0000000804a3ef6d in mod_privacy_end_session (m=0x8047b0e68, arg=0x0) at mod_privacy.cc:1522 #1 0x0000000804a29ae3 in js_mapi_call2 (si=0x8044dd480, e=2, packet=0x0, user=0x8047f2140, s=0x8045c3800, serialization_node=0x0) at modules.cc:226 #2 0x0000000804a2995d in js_mapi_call (si=0x0, e=2, packet=0x0, user=0x8047f2140, s=0x8045c3800) at modules.cc:177 #3 0x0000000804a2b28c in _js_session_end (arg=0x8045c3800) at sessions.cc:625 #4 0x0000000800874dc5 in mtq_main (arg=0x80451b9a0) at mtq.cc:208 #5 0x0000000802a502fb in pth_spawn_trampoline () from /usr/local/lib/pth/libpth.so.20 #6 0x0000000803d91e49 in makecontext () from /lib/libc.so.7 ----------- bt full -------------- (gdb) bt full #0 0x0000000804a3ef6d in mod_privacy_end_session (m=0x8047b0e68, arg=0x0) at mod_privacy.cc:1522 No locals. #1 0x0000000804a29ae3 in js_mapi_call2 (si=0x8044dd480, e=2, packet=0x0, user=0x8047f2140, s=0x8045c3800, serialization_node=0x0) at modules.cc:226 l = 0x8045c3cb8 m = {si = 0x8044dd480, packet = 0x0, e = 2, user = 0x8047f2140, s = 0x8045c3800, serialization_node = 0x0, additional_result = 0x0} #2 0x0000000804a2995d in js_mapi_call (si=0x0, e=2, packet=0x0, user=0x8047f2140, s=0x8045c3800) at modules.cc:177 No locals. #3 0x0000000804a2b28c in _js_session_end (arg=0x8045c3800) at sessions.cc:625 s = 0x8045c3800 #4 0x0000000800874dc5 in mtq_main (arg=0x80451b9a0) at mtq.cc:208 t = 0x80451b9a0 mpevt = 0x80454f830 c = 0x8045c4570 #5 0x0000000802a502fb in pth_spawn_trampoline () from /usr/local/lib/pth/libpth.so.20 No symbol table info available. #6 0x0000000803d91e49 in makecontext () from /lib/libc.so.7 No symbol table info available. #7 0x0000000000000000 in ?? () No symbol table info available. ------------- info registers --------------- (gdb) info registers rax 0x0 0 rbx 0x0 0 rcx 0x8047f34c0 34435183808 rdx 0x0 0 rsi 0x0 0 rdi 0x804a4f33d 34437657405 rbp 0x8047b0e40 0x8047b0e40 rsp 0x8047b0e20 0x8047b0e20 r8 0x8045c3800 34432890880 r9 0x0 0 r10 0x2601 9729 r11 0x80472ac48 34434362440 r12 0x8047a1000 34434846720 r13 0x804407c00 34431073280 r14 0x80441d9a0 34431162784 r15 0x8047b1000 34434912256 rip 0x804a3ef6d 0x804a3ef6d <mod_privacy_end_session(mapi_struct*, void*)+29> eflags 0x10202 66050 cs 0x43 67 ss 0x3b 59 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 ----------- disassembly -------------- (gdb) disass mod_privacy_end_session Dump of assembler code for function _ZL23mod_privacy_end_sessionP11mapi_structPv: 0x0000000804a3ef50 <_ZL23mod_privacy_end_sessionP11mapi_structPv+0>: push %rbp 0x0000000804a3ef51 <_ZL23mod_privacy_end_sessionP11mapi_structPv+1>: mov %rsp,%rbp 0x0000000804a3ef54 <_ZL23mod_privacy_end_sessionP11mapi_structPv+4>: sub $0x20,%rsp 0x0000000804a3ef58 <_ZL23mod_privacy_end_sessionP11mapi_structPv+8>: mov %rdi,-0x10(%rbp) 0x0000000804a3ef5c <_ZL23mod_privacy_end_sessionP11mapi_structPv+12>: mov %rsi,-0x18(%rbp) 0x0000000804a3ef60 <_ZL23mod_privacy_end_sessionP11mapi_structPv+16>: mov -0x10(%rbp),%rsi 0x0000000804a3ef64 <_ZL23mod_privacy_end_sessionP11mapi_structPv+20>: mov 0x20(%rsi),%rdi 0x0000000804a3ef68 <_ZL23mod_privacy_end_sessionP11mapi_structPv+24>: callq 0x804a3dc20 <_ZL41mod_privacy_free_current_list_definitionsP14session_struct> 0x0000000804a3ef6d <_ZL23mod_privacy_end_sessionP11mapi_structPv+29>: ud2a End of assembler dump. (gdb) Hope this helps someone!
Responsible Changed From-To: freebsd-amd64->freebsd-ports-bugs make this a ports PR.make this a ports PR.make this a ports PR.
This port is not maintained. However, it is building everywhere ( http://portsmon.freebsd.org/portoverview.py?category=net-im&portname=jabber ) Does this issue still occur or has it solved itself?
Silence is golden, closing.