Error: cannot determine Bro version

Hello all,

I just completed a new Bro installation. I receive the following error message when I try to start Bro (i.e. “broctl | install”).

Error: cannot determine Bro version

My Setup:

I think you should try make && make install again!

Lets see if the error still stays!

Re-running “make; make install” does not fix the problem. The error remains…

In what I believe is an unrelated issue, I notice that the file “/usr/local/bro/spool/broctl-config.sh” does not exist; which in turn causes a broken link for “/usr/local/bro/share/broctl/scripts/broctl-config.sh”. I temporarily worked around this problem by importing “/usr/local/bro/spool/broctl-config.sh” from a remote serer that was similarly configured. I mention this hoping that it might point to an underlying issue with the build.

Regards,
Jerome Taylor

I think you should try make && make install again!

Lets see if the error still stays!

I just completed a new Bro installation. I receive the following error message when I try to start Bro (i.e. "broctl | install").

    Error: cannot determine Bro version

My Setup:

bro version 2.3-680
minimum configuration => (a single Bro instance on the localhost)

Note: "bro -v" will return the version number but it also produces a segmentation fault..

I do not see this issue in older releases of Bro. Is there a known issue with this latest release?

No, that’s not been seen before and things appear to work fine on various platforms Bro is tested against. Can you give more details? What platform/OS/compiler? Did you give any special ./configure flags? Can you post a backtrace from gdb/lldb ?

In what I believe is an unrelated issue, I notice that the file "/usr/local/bro/spool/broctl-config.sh" does not exist;

I think that file is generated by `broctl install`, so if that doesn’t complete due to the issue you mention above, that could explain why it’s missing.

- Jon

Jon,

Thanks for taking a look a this…

I have a very basic node.cfg file
[bro]
type=standalone
host=localhost
interface=eth0

I am running CentOS 6.6 kernel 2.6.32-504. The diag report from broctl is listed below.
Bro 2.3-680
Linux 2.6.32-504.12.2.el6.x86_64
==== No reporter.log
==== No stderr.log
==== No stdout.log
==== No .cmdline
==== No .env_vars
==== No .status
==== No prof.log
==== No packet_filter.log
==== No loaded_scripts.log

bro -v ! reports the following

bro version 2.3-680
Segmentation fault

I originally compile bro with a config option “configure --with-pcap=/…” but I have since removed this. The fault still occurs. I will provide a backtrace report shortly.

Regards,
Jerome Taylor
M: 978-764-1269

I just completed a new Bro installation. I receive the following error message when I try to start Bro (i.e. “broctl | install”).

Error: cannot determine Bro version

My Setup:

bro version 2.3-680
minimum configuration => (a single Bro instance on the localhost)

Note: “bro -v” will return the version number but it also produces a segmentation fault…

I do not see this issue in older releases of Bro. Is there a known issue with this latest release?

No, that’s not been seen before and things appear to work fine on various platforms Bro is tested against. Can you give more details? What platform/OS/compiler? Did you give any special ./configure flags? Can you post a backtrace from gdb/lldb ?

In what I believe is an unrelated issue, I notice that the file “/usr/local/bro/spool/broctl-config.sh” does not exist;

I think that file is generated by broctl install, so if that doesn’t complete due to the issue you mention above, that could explain why it’s missing.

  • Jon

Jon,

I reconfigured Bro with debug enabled. The core dump is listed below.

gdb bro core.10188

GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.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 10188]
Missing separate debuginfo for /opt/netronome/lib/libpcap.so.1
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/91/abf66eb676e4e7a8c82352de10d0dceb4b3a90
Missing separate debuginfo for /opt/netronome/lib/libnfe.so.2
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/b8/da49e35d5c3d83af69bec52e94b95d7e848771
Missing separate debuginfo for /opt/netronome/lib/libns_armctrl.so.2
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/e0/79905105f0bc1def30279830e021f5e27d20f5
Missing separate debuginfo for /opt/netronome/lib/libnfm.so.2
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/fe/db0ff744c092fdf3ec2314563083d8ce06d6f9
Missing separate debuginfo for /opt/netronome/lib/libns_msg.so.2
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/1d/1a3c0cc45eb6bdfca2f0f63bb12342093d11f5
Missing separate debuginfo for /opt/netronome/lib/libnfp.so.2
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/a7/c27d95c1c926a73e00a41a3e6fe9502829c1f6
Missing separate debuginfo for
Try: yum --enablerepo=‘-debug’ install /usr/lib/debug/.build-id/4b/8e1260ccd7c3d8cc131e84001f7220651617ec
Reading symbols from /opt/netronome/lib/libpcap.so.1…(no debugging symbols found)…done.
Loaded symbols for /opt/netronome/lib/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 /usr/lib64/libGeoIP.so.1…done.
Loaded symbols for /usr/lib64/libGeoIP.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 /opt/netronome/lib/libnfe.so.2…(no debugging symbols found)…done.
Loaded symbols for /opt/netronome/lib/libnfe.so.2
Reading symbols from /opt/netronome/lib/libns_armctrl.so.2…(no debugging symbols found)…done.
Loaded symbols for /opt/netronome/lib/libns_armctrl.so.2
Reading symbols from /opt/netronome/lib/libnfm.so.2…done.
Loaded symbols for /opt/netronome/lib/libnfm.so.2
Reading symbols from /opt/netronome/lib/libns_msg.so.2…(no debugging symbols found)…done.
Loaded symbols for /opt/netronome/lib/libns_msg.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/ld-linux-x86-64.so.2…(no debugging symbols found)…done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /opt/netronome/lib/libnfp.so.2…done.
Loaded symbols for /opt/netronome/lib/libnfp.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/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
Core was generated by `bro -v’.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000006fc405 in plugin::Manager::HavePluginForHook (this=0x0, hook=plugin::HOOK_BRO_OBJ_DTOR) at /root/Bro/bro/src/plugin/Manager.h:163
163 return hooks[hook] != 0;
Missing separate debuginfos, use: debuginfo-install geoip-1.4.6-1.el6.rf.x86_64 glibc-2.12-1.149.el6_6.5.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-33.el6.x86_64 libcom_err-1.41.12-21.el6.x86_64 libgcc-4.4.7-11.el6.x86_64 libselinux-2.0.94-5.8.el6.x86_64 libstdc+±4.4.7-11.el6.x86_64 openssl-1.0.1e-30.el6.8.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb)

Regards,
Jerome Taylor
M: 978-764-1269

Jon,

Thanks for taking a look a this…

I have a very basic node.cfg file
[bro]
type=standalone
host=localhost
interface=eth0

I am running CentOS 6.6 kernel 2.6.32-504. The diag report from broctl is listed below.
Bro 2.3-680
Linux 2.6.32-504.12.2.el6.x86_64
==== No reporter.log
==== No stderr.log
==== No stdout.log
==== No .cmdline
==== No .env_vars
==== No .status
==== No prof.log
==== No packet_filter.log
==== No loaded_scripts.log

bro -v ! reports the following

bro version 2.3-680
Segmentation fault

I originally compile bro with a config option “configure --with-pcap=/…” but I have since removed this. The fault still occurs. I will provide a backtrace report shortly.

Regards,
Jerome Taylor
M: 978-764-1269

I just completed a new Bro installation. I receive the following error message when I try to start Bro (i.e. “broctl | install”).

Error: cannot determine Bro version

My Setup:

bro version 2.3-680
minimum configuration => (a single Bro instance on the localhost)

Note: “bro -v” will return the version number but it also produces a segmentation fault…

I do not see this issue in older releases of Bro. Is there a known issue with this latest release?

No, that’s not been seen before and things appear to work fine on various platforms Bro is tested against. Can you give more details? What platform/OS/compiler? Did you give any special ./configure flags? Can you post a backtrace from gdb/lldb ?

In what I believe is an unrelated issue, I notice that the file “/usr/local/bro/spool/broctl-config.sh” does not exist;

I think that file is generated by broctl install, so if that doesn’t complete due to the issue you mention above, that could explain why it’s missing.

  • Jon

Can you enter “backtrace” at the gdb prompt here and show the output of that as well?

- Jon

Jon,

Sorry for the delay. I got sidetracked by another project.

Core was generated by `bro -v’.
Program terminated with signal 11, Segmentation fault.
#0 HavePluginForHook (this=0x7fec89226410, __in_chrg=) at /root/Bro/bro/src/plugin/Manager.h:163
163 return hooks[hook] != 0;
Missing separate debuginfos, use: debuginfo-install geoip-1.4.6-1.el6.rf.x86_64 glibc-2.12-1.149.el6_6.5.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-33.el6.x86_64 libcom_err-1.41.12-21.el6.x86_64 libgcc-4.4.7-11.el6.x86_64 libselinux-2.0.94-5.8.el6.x86_64 libstdc+±4.4.7-11.el6.x86_64 openssl-1.0.1e-30.el6.8.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) backtrace
#0 HavePluginForHook (this=0x7fec89226410, __in_chrg=) at /root/Bro/bro/src/plugin/Manager.h:163
#1 BroObj::~BroObj (this=0x7fec89226410, __in_chrg=) at /root/Bro/bro/src/Obj.cc:97
#2 0x00007fec89669ebd in __cxa_finalize () from /lib64/libc.so.6
#3 0x00007fec88fe5b96 in __do_global_dtors_aux () from /opt/netronome/lib/libnfm.so.2
#4 0x0000000000000000 in ?? ()

Regards,
Jerome Taylor
M: 978-764-1269