<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, May 21, 2015 at 6:18 PM, Peter Manev <span dir="ltr"><<a href="mailto:petermanev@gmail.com" target="_blank">petermanev@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div>On Thu, May 21, 2015 at 11:12 PM, Eduardo Meyer <<a href="mailto:dudu.meyer@gmail.com" target="_blank">dudu.meyer@gmail.com</a>> wrote:<br>
> On Thu, May 21, 2015 at 6:10 AM, Peter Manev <<a href="mailto:petermanev@gmail.com" target="_blank">petermanev@gmail.com</a>> wrote:<br>
>><br>
>> On Thu, May 21, 2015 at 1:02 AM, Eduardo Meyer <<a href="mailto:dudu.meyer@gmail.com" target="_blank">dudu.meyer@gmail.com</a>><br>
>> wrote:<br>
>> > Hello,<br>
>> ><br>
>> > I am running Suricata 2.0.8 RELEASE with 3 interfaces, and from times to<br>
>> > times suricata simply dies. This is the process arguments in use:<br>
>> ><br>
>> > root         45492   1.0  1.5 1299164 251564  -  Is    4:20PM<br>
>> > 84:38.13<br>
>> > /usr/local/bin/suricata -D -i bridge1 -i bridge2 -i bridge0 --pidfile<br>
>> > /var/run/suricata_bridge0.pid -c /usr/local/etc/suricata/suricata.yaml<br>
>> ><br>
>> > I could not find a pattern when Suricata dies. Sometimes it's a high<br>
>> > pps/memory/bandwidth usage profile, sometimes it's a low demand hour<br>
>> > with<br>
>> > just a couple pps passing the suricata system.<br>
>> ><br>
>> > It never dies with a single interface. It dies for bridged ports,<br>
>> > trunked<br>
>> > ports as well as for physical untagged ports, so it does not seem to be<br>
>> > related to virtual or real NICs it's listening at, although I noticed it<br>
>> > dies more frequently on bridged interfaces like the above scenario.<br>
>> ><br>
>> > Is there anything I should look at with special attention on<br>
>> > suricata.yaml?<br>
>> ><br>
>> > I have a suricata.core everytime it dies. How can I produce useful<br>
>> > information from it?<br>
>><br>
>> If you have a core dump and can reproduce the issue consistently - you<br>
>> can have a look at this guide here -<br>
>><br>
>> <a href="https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Reporting_Bugs" target="_blank">https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Reporting_Bugs</a><br>
>> how to extract useful info. Then you can open a bug report should you<br>
>> consider.<br>
>><br>
>> Thank you<br>
><br>
><br>
><br>
> What else should I do to the bug the cause? I am no gdb familiarized in any<br>
> ways, so I can't move forth, so far this is what I had only:<br>
><br>
> gdb /usr/local/bin/suricata /suricata.core<br>
> GNU gdb 6.1.1 [FreeBSD]<br>
> Copyright 2004 Free Software Foundation, Inc.<br>
> GDB is free software, covered by the GNU General Public License, and you are<br>
> welcome to change it and/or distribute copies of it under certain<br>
> conditions.<br>
> Type "show copying" to see the conditions.<br>
> There is absolutely no warranty for GDB.  Type "show warranty" for details.<br>
> This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols<br>
> found)...<br>
> Core was generated by `suricata'.<br>
> Program terminated with signal 11, Segmentation fault.<br>
> Reading symbols from /usr/local/lib/libprelude.so.2...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libprelude.so.2<br>
> Reading symbols from /usr/local/lib/libgnutls.so.28...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libgnutls.so.28<br>
> Reading symbols from /usr/local/lib/libgcrypt.so.20...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libgcrypt.so.20<br>
> Reading symbols from /usr/local/lib/libgpg-error.so.0...(no debugging<br>
> symbols found)...done.<br>
> Loaded symbols for /usr/local/lib/libgpg-error.so.0<br>
> Reading symbols from /usr/lib/libmagic.so.4...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/lib/libmagic.so.4<br>
> Reading symbols from /usr/local/lib/libhtp-0.5.16.so.1...(no debugging<br>
> symbols found)...done.<br>
> Loaded symbols for /usr/local/lib/libhtp-0.5.16.so.1<br>
> Reading symbols from /lib/libpcap.so.8...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /lib/libpcap.so.8<br>
> Reading symbols from /usr/local/lib/libnet11/libnet.so.1...(no debugging<br>
> symbols found)...done.<br>
> Loaded symbols for /usr/local/lib/libnet11/libnet.so.1<br>
> Reading symbols from /usr/local/lib/libjansson.so.4...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libjansson.so.4<br>
> Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.<br>
> Loaded symbols for /lib/libthr.so.3<br>
> Reading symbols from /usr/local/lib/libyaml-0.so.2...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libyaml-0.so.2<br>
> Reading symbols from /usr/local/lib/libpcre.so.1...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libpcre.so.1<br>
> Reading symbols from /usr/local/lib/libplds4.so.1...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libplds4.so.1<br>
> Reading symbols from /usr/local/lib/libplc4.so.1...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libplc4.so.1<br>
> Reading symbols from /usr/local/lib/libnspr4.so.1...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libnspr4.so.1<br>
> Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.<br>
> Loaded symbols for /lib/libc.so.7<br>
> Reading symbols from /usr/local/lib/libltdl.so.7...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libltdl.so.7<br>
> Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.<br>
> Loaded symbols for /lib/libz.so.6<br>
> Reading symbols from /usr/local/lib/libp11-kit.so.0...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libp11-kit.so.0<br>
> Reading symbols from /usr/local/lib/libtspi.so.1...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libtspi.so.1<br>
> Reading symbols from /usr/local/lib/libtasn1.so.6...(no debugging symbols<br>
> found)...done.<br>
> Loaded symbols for /usr/local/lib/libtasn1.so.6<br>
> Reading symbols from /usr/local/lib/libnettle.so.4...done.<br>
> Loaded symbols for /usr/local/lib/libnettle.so.4<br>
> Reading symbols from /usr/local/lib/libhogweed.so.2...done.<br>
> Loaded symbols for /usr/local/lib/libhogweed.so.2<br>
> Reading symbols from /usr/local/lib/libgmp.so.10...done.<br>
> Loaded symbols for /usr/local/lib/libgmp.so.10<br>
> Reading symbols from /usr/local/lib/libintl.so.8...done.<br>
> Loaded symbols for /usr/local/lib/libintl.so.8<br>
> Reading symbols from /usr/local/lib/libiconv.so.2...done.<br>
> Loaded symbols for /usr/local/lib/libiconv.so.2<br>
> Reading symbols from /usr/local/lib/libffi.so.6...done.<br>
> Loaded symbols for /usr/local/lib/libffi.so.6<br>
> Reading symbols from /lib/libcrypto.so.7...done.<br>
> Loaded symbols for /lib/libcrypto.so.7<br>
> Reading symbols from /libexec/ld-elf.so.1...done.<br>
> Loaded symbols for /libexec/ld-elf.so.1<br>
> #0  0x000000080207030a in pthread_mutex_lock () from /lib/libthr.so.3<br>
> [New Thread 8107f4000 (LWP 101545/SCPerfMgmtThrea)]<br>
> [New Thread 8107f3c00 (LWP 100251/SCPerfWakeupThr)]<br>
> [New Thread 8107f3800 (LWP 100250/FlowManagerThre)]<br>
> [New Thread 8107f3400 (LWP 100249/Detect12)]<br>
> [New Thread 8107f3000 (LWP 100248/Detect11)]<br>
> [New Thread 8107f2c00 (LWP 100247/Detect10)]<br>
> [New Thread 8107f2800 (LWP 100246/Detect9)]<br>
> [New Thread 8107f2400 (LWP 100245/Detect8)]<br>
> [New Thread 8107f2000 (LWP 100244/Detect7)]<br>
> [New Thread 8107f1c00 (LWP 100243/Detect6)]<br>
> [New Thread 8107f1800 (LWP 100242/Detect5)]<br>
> [New Thread 8107f1400 (LWP 100240/Detect4)]<br>
> [New Thread 8107f1000 (LWP 100238/Detect3)]<br>
> [New Thread 8107f0c00 (LWP 100237/Detect2)]<br>
> [New Thread 8107f0800 (LWP 100236/Detect1)]<br>
> [New Thread 8107f0400 (LWP 100234/RxPcapbridge01)]<br>
> [New Thread 805415c00 (LWP 100229/RxPcapbridge21)]<br>
> [New Thread 805415800 (LWP 100164/RxPcapbridge11)]<br>
> [New Thread 805406400 (LWP 100600/suricata)]<br>
> (gdb) bt<br>
> #0  0x000000080207030a in pthread_mutex_lock () from /lib/libthr.so.3<br>
> #1  0x000000000045400f in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
> (gdb) frame 5<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
><br>
> cat gdb.txt<br>
><br>
> Thread 19 (Thread 805406400 (LWP 100600/suricata)):<br>
> #0  0x0000000802e930ea in _nanosleep () from /lib/libc.so.7<br>
> #1  0x000000080206cb0c in pthread_suspend_all_np () from /lib/libthr.so.3<br>
> #2  0x0000000802edb5f7 in usleep () from /lib/libc.so.7<br>
> #3  0x00000000005160e9 in ?? ()<br>
> #4  0x0000000000407e3f in ?? ()<br>
> #5  0x00000008007f1000 in ?? ()<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 18 (Thread 805415800 (LWP 100164/RxPcapbridge11)):<br>
> #0  0x0000000802efdd98 in _read () from /lib/libc.so.7<br>
> #1  0x000000080206cd46 in pthread_suspend_all_np () from /lib/libthr.so.3<br>
> #2  0x0000000801a24e0e in pcap_platform_finddevs () from /lib/libpcap.so.8<br>
> #3  0x00000000004ff26e in ?? ()<br>
> #4  0x000000000051f4bc in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 17 (Thread 805415c00 (LWP 100229/RxPcapbridge21)):<br>
> #0  0x0000000802075c5a in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x0000000802070b64 in pthread_mutex_destroy () from /lib/libthr.so.3<br>
> #2  0x00000000004c4ca4 in ?? ()<br>
> #3  0x00000000004c3031 in ?? ()<br>
> #4  0x0000000000440b80 in ?? ()<br>
> #5  0x000000000043ec1a in ?? ()<br>
> #6  0x000000000043d732 in ?? ()<br>
> #7  0x00000000004ffe3d in ?? ()<br>
> #8  0x000000000051f1cb in ?? ()<br>
> #9  0x00000000005000b1 in ?? ()<br>
> #10 0x0000000801a25394 in pcap_platform_finddevs () from /lib/libpcap.so.8<br>
> #11 0x00000000004ff26e in ?? ()<br>
> #12 0x000000000051f4bc in ?? ()<br>
> #13 0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #14 0x0000000000000000 in ?? ()<br>
><br>
> Thread 16 (Thread 8107f0400 (LWP 100234/RxPcapbridge01)):<br>
> #0  0x00000000004410bb in ?? ()<br>
> #1  0x000000000043d781 in ?? ()<br>
> #2  0x00000000004ffe3d in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x00000000005000b1 in ?? ()<br>
> #5  0x0000000801a25394 in pcap_platform_finddevs () from /lib/libpcap.so.8<br>
> #6  0x00000000004ff26e in ?? ()<br>
> #7  0x000000000051f4bc in ?? ()<br>
> #8  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #9  0x0000000000000000 in ?? ()<br>
><br>
> Thread 15 (Thread 8107f0800 (LWP 100236/Detect1)):<br>
> #0  0x000000080207030a in pthread_mutex_lock () from /lib/libthr.so.3<br>
> #1  0x000000000045400f in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 14 (Thread 8107f0c00 (LWP 100237/Detect2)):<br>
> #0  0x000000000054a90a in ?? ()<br>
> #1  0x0000000000454c00 in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 13 (Thread 8107f1000 (LWP 100238/Detect3)):<br>
> #0  0x000000000054a901 in ?? ()<br>
> #1  0x0000000000454c18 in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 12 (Thread 8107f1400 (LWP 100240/Detect4)):<br>
> #0  0x000000000054a901 in ?? ()<br>
> #1  0x0000000000454c18 in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 11 (Thread 8107f1800 (LWP 100242/Detect5)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x000000000051b41a in ?? ()<br>
> #3  0x000000000051f8c4 in ?? ()<br>
> #4  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #5  0x0000000000000000 in ?? ()<br>
><br>
> Thread 10 (Thread 8107f1c00 (LWP 100243/Detect6)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x000000000051b41a in ?? ()<br>
> #3  0x000000000051f8c4 in ?? ()<br>
> #4  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #5  0x0000000000000000 in ?? ()<br>
><br>
> Thread 9 (Thread 8107f2000 (LWP 100244/Detect7)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x000000000051b41a in ?? ()<br>
> #3  0x000000000051f8c4 in ?? ()<br>
> #4  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #5  0x0000000000000000 in ?? ()<br>
><br>
> Thread 8 (Thread 8107f2400 (LWP 100245/Detect8)):<br>
> #0  0x0000000802070a48 in pthread_mutex_destroy () from /lib/libthr.so.3<br>
> #1  0x000000000045400f in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 7 (Thread 8107f2800 (LWP 100246/Detect9)):<br>
> #0  0x000000000054a901 in ?? ()<br>
> #1  0x0000000000454c00 in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 6 (Thread 8107f2c00 (LWP 100247/Detect10)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x000000000051b41a in ?? ()<br>
> #3  0x000000000051f8c4 in ?? ()<br>
> #4  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #5  0x0000000000000000 in ?? ()<br>
><br>
> Thread 5 (Thread 8107f3000 (LWP 100248/Detect11)):<br>
> #0  0x000000000054a8d4 in ?? ()<br>
> #1  0x0000000000454c18 in ?? ()<br>
> #2  0x0000000000451d26 in ?? ()<br>
> #3  0x000000000051f1cb in ?? ()<br>
> #4  0x000000000051f8db in ?? ()<br>
> #5  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #6  0x0000000000000000 in ?? ()<br>
><br>
> Thread 4 (Thread 8107f3400 (LWP 100249/Detect12)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x000000000051b41a in ?? ()<br>
> #3  0x000000000051f8c4 in ?? ()<br>
> #4  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #5  0x0000000000000000 in ?? ()<br>
><br>
> Thread 3 (Thread 8107f3800 (LWP 100250/FlowManagerThre)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x00000000004c5adb in ?? ()<br>
> #3  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #4  0x0000000000000000 in ?? ()<br>
><br>
> Thread 2 (Thread 8107f3c00 (LWP 100251/SCPerfWakeupThr)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x00000000004397e2 in ?? ()<br>
> #3  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #4  0x0000000000000000 in ?? ()<br>
><br>
> Thread 1 (Thread 8107f4000 (LWP 101545/SCPerfMgmtThrea)):<br>
> #0  0x0000000802075c5c in pthread_cleanup_pop () from /lib/libthr.so.3<br>
> #1  0x000000080207411e in _pthread_cond_wait () from /lib/libthr.so.3<br>
> #2  0x0000000000439ae7 in ?? ()<br>
> #3  0x000000080206a725 in pthread_create () from /lib/libthr.so.3<br>
> #4  0x0000000000000000 in ?? ()<br>
> #0  0x000000080207030a in pthread_mutex_lock () from /lib/libthr.so.3<br>
><br>
<br>
</div></div>You should recompile Suricata with debugging enabled (as explained in<br>
the link previously provided) - then after you get a core dump - do<br>
the output again:<br>
<br>
./configure whatever_your_usual_flags_are CFLAGS="-ggdb -O0"<br>
<br>
So just add CFLAGS="-ggdb -O0" at the end of the configure line. After<br>
that the core - will be much more helpful.<br>
<br>
Thank you<br>
<div><div><br>
<br></div></div></blockquote><div><br></div><div>OK just a follow-up, so far, Suricata did not die after I compiled with the suggested flags.<br></div><div><br></div><div>Before recompiling, it was dying at least twice a day. Probably this much improved stability is caused by -O0 or is just a coincidence and I will see it dying again in the next days. However doesnt look like a coincidence to me. If -O0 is causing more stability than -O2 I will try compiling it with gcc (FreeBSD' s default is clang).</div><div><br></div><div>I'll share more updates as this evolves.</div></div>
</div></div>