It's a MOVSD SSE instruction. Tshark is ok. I can cope with that or tcpdump
if need be, but here's the output :
Starting program: /usr/local/bin/wireshark
warning: Lowest section in /usr/local/lib/libicudata.so.9.0 is .hash at
00000154
Program received signal SIGILL, Illegal instruction.
0x06d685fb in _GLOBAL__sub_I_qguiapplication.cpp () from
/usr/local/lib/qt5/./libQt5Gui.so.1.1
(gdb) bt
#0 0x06d685fb in _GLOBAL__sub_I_qguiapplication.cpp () from
/usr/local/lib/qt5/./libQt5Gui.so.1.1
#1 0x06d3ddba in ?? () from /usr/local/lib/qt5/./libQt5Gui.so.1.1
#2 0x03ff4931 in _dl_call_init_recurse (object=0x23ff6084,
initfirst=-2136632992) at /usr/src/libexec/ld.so/loader.c:671
#3 0x06d2e40b in _init () from /usr/local/lib/qt5/./libQt5Gui.so.1.1
#4 0x03ff49d1 in _dl_call_init_recurse (object=0x80a5aa00, initfirst=0) at
/usr/src/libexec/ld.so/loader.c:693
#5 0x03ff4971 in _dl_call_init_recurse (object=0x87a66a00, initfirst=0) at
/usr/src/libexec/ld.so/loader.c:679
#6 0x03ff4971 in _dl_call_init_recurse (object=0x80a5a200, initfirst=0) at
/usr/src/libexec/ld.so/loader.c:679
#7 0x03ff4971 in _dl_call_init_recurse (object=0x8162ac00, initfirst=0) at
/usr/src/libexec/ld.so/loader.c:679
#8 0x03ff4a1a in _dl_call_init (object=0x8162ac00) at /usr/src/libexec/
ld.so/loader.c:666
#9 0x03ff580a in _dl_boot (argv=0xcf7bdf84, envp=0xcf7bdf8c,
dyn_loff=67059712, dl_data=0xcf7bdf3c)
at /usr/src/libexec/ld.so/loader.c:595
#10 0x03ff44b5 in _dl_start () at /usr/src/libexec/ld.so/i386/ldasm.S:68
#11 0xcf7bdf84 in ?? ()
#12 0xcf7bdf8c in ?? ()
#13 0x03ff4000 in ?? ()
#14 0xcf7bdf3c in ?? ()
#15 0xcf7bdf80 in ?? ()
#16 0xcf7bdf3c in ?? ()
#17 0x00000000 in ?? ()
(gdb) disas 0x06d685fb
Dump of assembler code for function _GLOBAL__sub_I_qguiapplication.cpp:
0x06d685d0 <_GLOBAL__sub_I_qguiapplication.cpp+0>: push %edi
0x06d685d1 <_GLOBAL__sub_I_qguiapplication.cpp+1>: push %esi
0x06d685d2 <_GLOBAL__sub_I_qguiapplication.cpp+2>: push %ebx
0x06d685d3 <_GLOBAL__sub_I_qguiapplication.cpp+3>: call 0x6d3e13c
<__x86.get_pc_thunk.bx>
0x06d685d8 <_GLOBAL__sub_I_qguiapplication.cpp+8>: add
$0x200a22c0,%ebx
0x06d685de <_GLOBAL__sub_I_qguiapplication.cpp+14>: sub $0x10,%esp
0x06d685e1 <_GLOBAL__sub_I_qguiapplication.cpp+17>: call 0x6d3c7a0
<_init+58272>
0x06d685e6 <_GLOBAL__sub_I_qguiapplication.cpp+22>: fstpl 0x8(%esp)
0x06d685ea <_GLOBAL__sub_I_qguiapplication.cpp+26>: lea
0x5770(%ebx),%esi
0x06d685f0 <_GLOBAL__sub_I_qguiapplication.cpp+32>: call 0x6d3c7a0
<_init+58272>
0x06d685f5 <_GLOBAL__sub_I_qguiapplication.cpp+37>: mov
0x4328(%ebx),%eax
0x06d685fb <_GLOBAL__sub_I_qguiapplication.cpp+43>: movsd
0x8(%esp),%xmm0
0x06d68601 <_GLOBAL__sub_I_qguiapplication.cpp+49>: mov
0x4414(%ebx),%edi
0x06d68607 <_GLOBAL__sub_I_qguiapplication.cpp+55>: sub $0x4,%esp
0x06d6860a <_GLOBAL__sub_I_qguiapplication.cpp+58>: fstpl (%eax)
0x06d6860c <_GLOBAL__sub_I_qguiapplication.cpp+60>: movsd
%xmm0,0x8(%eax)
0x06d68611 <_GLOBAL__sub_I_qguiapplication.cpp+65>: mov
0x4554(%ebx),%eax
0x06d68617 <_GLOBAL__sub_I_qguiapplication.cpp+71>: mov %edi,(%eax)
0x06d68619 <_GLOBAL__sub_I_qguiapplication.cpp+73>: push %esi
0x06d6861a <_GLOBAL__sub_I_qguiapplication.cpp+74>: push %eax
0x06d6861b <_GLOBAL__sub_I_qguiapplication.cpp+75>: lea
0xdff3c658(%ebx),%eax
0x06d68621 <_GLOBAL__sub_I_qguiapplication.cpp+81>: push %eax
0x06d68622 <_GLOBAL__sub_I_qguiapplication.cpp+82>: call 0x6d37100
<_init+36096>
0x06d68627 <_GLOBAL__sub_I_qguiapplication.cpp+87>: mov
0x446c(%ebx),%eax
0x06d6862d <_GLOBAL__sub_I_qguiapplication.cpp+93>: add $0xc,%esp
0x06d68630 <_GLOBAL__sub_I_qguiapplication.cpp+96>: mov %edi,(%eax)
0x06d68632 <_GLOBAL__sub_I_qguiapplication.cpp+98>: push %esi
0x06d68633 <_GLOBAL__sub_I_qguiapplication.cpp+99>: push %eax
0x06d68634 <_GLOBAL__sub_I_qguiapplication.cpp+100>: lea
0xdff4af78(%ebx),%eax
0x06d6863a <_GLOBAL__sub_I_qguiapplication.cpp+106>: push %eax
0x06d6863b <_GLOBAL__sub_I_qguiapplication.cpp+107>: call 0x6d37100
<_init+36096>
0x06d68640 <_GLOBAL__sub_I_qguiapplication.cpp+112>: mov
0x4178(%ebx),%eax
0x06d68646 <_GLOBAL__sub_I_qguiapplication.cpp+118>: add $0xc,%esp
0x06d68649 <_GLOBAL__sub_I_qguiapplication.cpp+121>: mov %edi,(%eax)
0x06d6864b <_GLOBAL__sub_I_qguiapplication.cpp+123>: push %esi
0x06d6864c <_GLOBAL__sub_I_qguiapplication.cpp+124>: push %eax
On 15 March 2016 at 00:30, Michael McConville <[email protected]> wrote:
> Peter Kay wrote:
> > Wireshark, running on -current, is dumping core ('illegal
> > instruction') on two separate pentium ii systems here. It's fine on a
> > Core2Duo running i386.
> >
> > I'm presuming it's using pentium 3 or later instructions/SSE2 etc. Has
> > anyone else seen this before I look at it?
>
> Can you run it in GDB and trigger the crash? That seems like the easiest
> way to get the offending instruction.
>
> I know we had to handle something like this in lang/go recently. There
> was a discussion on ports@.