I've tried as you suggested, however it would appear SSE2 is utilised by the compiler elsewhere:

[336672.388515] traps: netdata[11013] trap invalid opcode ip:484927 sp:bfc4c2a0 error:0
[336672.388543]  in netdata[427000+bb000]

I don't have a lot of gdb experience, however this is what I could glean:

(gdb) run
Starting program: /usr/sbin/netdata -D
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
health_readfile (host=host@entry=0x4da388, path=path@entry=0x4dad50 "/etc/netdata/health.d",
    filename=filename@entry=0x4dada7 "fping.conf") at health_config.c:565
warning: Source file is more recent than executable.
565                rt->green = NAN;
(gdb)

This doesn't make a lot of sense to me - seems to be failing when trying to load the config for fping. Moving fping.conf out of the way, it then fails at mdstat.conf:

(gdb) run
Starting program: /usr/sbin/netdata -D
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
health_readfile (host=host@entry=0x4da388, path=path@entry=0x4dad50 "/etc/netdata/health.d",
    filename=filename@entry=0x4dada7 "mdstat.conf") at health_config.c:565
warning: Source file is more recent than executable.
565                rt->green = NAN;

If I move the whole of /etc/netdata/health.d out of the way, it does make it through loading the config, but one of the threads dies pretty soon afterwards:

(gdb) run
Starting program: /usr/sbin/netdata -D
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb7d3cb40 (LWP 4765)]
[New Thread 0xb753bb40 (LWP 4766)]
[New Thread 0xb6d3ab40 (LWP 4768)]
[New Thread 0xb6539b40 (LWP 4769)]
[New Thread 0xb5d38b40 (LWP 4770)]
[New Thread 0xb5537b40 (LWP 4771)]
[New Thread 0xb4d36b40 (LWP 4772)]
[New Thread 0xb452eb40 (LWP 4773)]

Thread 3 "netdata" received signal SIGILL, Illegal instruction.
[Switching to Thread 0xb753bb40 (LWP 4766)]
rrdset_create (host=<optimized out>, type=<optimized out>, id=<optimized out>, name=<optimized out>,     family=<optimized out>, context=<optimized out>, title=<optimized out>, units=<optimized out>,     priority=<optimized out>, update_every=<optimized out>, chart_type=<optimized out>) at rrdset.c:529
warning: Source file is more recent than executable.
529        st->green = NAN;

On 26/10/17 20:02, Lennart Weller wrote:
Ah. Good old Soekris.
I had a quick look through the source of netdata. The only part of netdata that 
makes use of the SSE instruction set is their implementation of the stats.d. 
Now, I didn't test this but you could try disabling just this part of the 
application. It shouldn't affect the charts.

/etc/netdata/netdata.conf:
[statsd]
        enabled = no

I don't know if the compiler automatically used the SSE2 instruction set 
elsewhere, but it's worth a try.

Reply via email to