[
https://issues.apache.org/jira/browse/METRON-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16706099#comment-16706099
]
ASF GitHub Bot commented on METRON-1910:
----------------------------------------
Github user JonZeolla commented on the issue:
https://github.com/apache/metron-bro-plugin-kafka/pull/20
I wish I had more time to work on this, but it may be a while before I
could revisit. What I found was that if any of the `delete`s are duplicated it
segfaults on exit. From some commit messages it seems that in bro, the
destructor is called from the main thread, but `DoFinish` is called from a
child thread, so we should keep this cleanup in `DoFinish`.
> bro plugin segfaults on src/KafkaWriter.cc:72
> ---------------------------------------------
>
> Key: METRON-1910
> URL: https://issues.apache.org/jira/browse/METRON-1910
> Project: Metron
> Issue Type: Bug
> Reporter: Jon Zeolla
> Assignee: Jon Zeolla
> Priority: Major
>
> I was testing metron-bro-plugin-kafka 0.3.0 rc1 and noticed that when I ran
> pcaps against a bro instance it would segfault at the end of each run. Below
> is what gdb tells me. Looks like this was somewhat recently changed @
> [https://github.com/apache/metron-bro-plugin-kafka/commit/1dfc5239fae31a64026188109d1e346ce93d5c02#diff-361be0491d615952129ed5c8f39c9683L57]
> {code}
> [root@node1 cores]# gdb /usr/local/bro/bin/bro
> core.bro.30769.node1.1543416558
> GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
> Copyright (C) 2010 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <[http://gnu.org/licenses/gpl.html]>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-redhat-linux-gnu".
> For bug reporting instructions, please see:
> <[http://www.gnu.org/software/gdb/bugs/]>...
> Reading symbols from /usr/local/bro/bin/bro...done.
> [New Thread 30769]
> Reading symbols from /usr/lib64/libpcap.so.1...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/libpcap.so.1
> Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/libssl.so.10
> Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/libcrypto.so.10
> Reading symbols from /lib64/libresolv.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libresolv.so.2
> Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
> Loaded symbols for /lib64/libz.so.1
> Reading symbols from /lib64/libpthread.so.0...(no debugging symbols
> found)...done.
> [Thread debugging using libthread_db enabled]
> Loaded symbols for /lib64/libpthread.so.0
> Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
> Loaded symbols for /lib64/libdl.so.2
> Reading symbols from /usr/lib64/libstdc++.so.6...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/libstdc++.so.6
> Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
> Loaded symbols for /lib64/libm.so.6
> Reading symbols from /lib64/libgcc_s.so.1...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libgcc_s.so.1
> Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
> Loaded symbols for /lib64/libc.so.6
> Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/ld-linux-x86-64.so.2
> Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libgssapi_krb5.so.2
> Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libkrb5.so.3
> Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libcom_err.so.2
> Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libk5crypto.so.3
> Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libkrb5support.so.0
> Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libkeyutils.so.1
> Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libselinux.so.1
> Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libnss_files.so.2
> Reading symbols from /lib64/libnss_dns.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libnss_dns.so.2
> Reading symbols from
> /usr/local/bro/lib/bro/plugins/packages/metron-bro-plugin-kafka//lib/APACHE-KAFKA.linux-x86_64.so...done.
> Loaded symbols for
> /usr/local/bro/lib/bro/plugins/packages/metron-bro-plugin-kafka//lib/APACHE-KAFKA.linux-x86_64.so
> Reading symbols from /usr/local/lib/librdkafka++.so.1...done.
> Loaded symbols for /usr/local/lib/librdkafka++.so.1
> Reading symbols from /usr/local/lib/librdkafka.so.1...done.
> Loaded symbols for /usr/local/lib/librdkafka.so.1
> Reading symbols from /usr/lib64/libsasl2.so.2...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/libsasl2.so.2
> Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
> Loaded symbols for /lib64/librt.so.1
> Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libcrypt.so.1
> Reading symbols from /lib64/libfreebl3.so...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libfreebl3.so
> Reading symbols from /usr/lib64/sasl2/libgssapiv2.so...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/sasl2/libgssapiv2.so
> Reading symbols from /usr/lib64/sasl2/libplain.so...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/sasl2/libplain.so
> Reading symbols from /usr/lib64/sasl2/libanonymous.so...(no debugging
> symbols found)...done.
> Loaded symbols for /usr/lib64/sasl2/libanonymous.so
> Reading symbols from /usr/lib64/sasl2/libsasldb.so...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/sasl2/libsasldb.so
> Reading symbols from /lib64/libdb-4.7.so...(no debugging symbols
> found)...done.
> Loaded symbols for /lib64/libdb-4.7.so
> Reading symbols from /usr/lib64/sasl2/liblogin.so...(no debugging symbols
> found)...done.
> Loaded symbols for /usr/lib64/sasl2/liblogin.so
> Core was generated by `bro -r nitroba.pcap
> /usr/local/bro/share/bro/site/local.bro -C'.
> Program terminated with signal 11, Segmentation fault.
> #0 0x00007f1bca06f8b6 in logging::writer::KafkaWriter::~KafkaWriter
> (this=0x5ef6a40, __in_chrg=<value optimized out>) at
> /root/.bro-pkg/clones/package/metron-bro-plugin-kafka/src/KafkaWriter.cc:72
> 72 delete topic;
> Missing separate debuginfos, use: debuginfo-install
> cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64
> cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64
> cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64 db4-4.7.25-22.el6.x86_64
> glibc-2.12-1.212.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64
> krb5-libs-1.10.3-65.el6.x86_64 libcom_err-1.41.12-24.el6.x86_64
> libgcc-4.4.7-23.el6.x86_64 libpcap-1.4.0-4.20130826git2dbcaa1.el6.x86_64
> libselinux-2.0.94-7.el6.x86_64 libstdc++-4.4.7-23.el6.x86_64
> nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64 openssl-1.0.1e-57.el6.x86_64
> zlib-1.2.3-29.el6.x86_64
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)