[odb-users] Internal Compiler Error in ODB 2.5.0-b.9 with Boost Profile

Brian Coggins becoggins at hotmail.com
Fri Feb 15 00:38:31 EST 2019


Hi Boris,

I’m trying to use the latest ODB (2.5.0-b.9, downloaded and built today via build2) to get c++17 support, and I’m running into that segfault people have been reporting.  Using the Boost profile seems to trigger it reliably, and the user input doesn’t seem to matter.  Here’s a test case with a completely blank user input:

$ more test.h
//      Do nothing

$ odb -d sqlite --profile boost  test.h
*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_START_UNIT                | odb
PLUGIN_PRAGMAS                   | odb
PLUGIN_OVERRIDE_GATE             | odb
during GIMPLE pass: *warn_unused_result
In file included from <odb-epilogue-5>:1:
/usr/local/include/odb/boost/multi-index/container-traits.hxx: In function 'void __static_initialization_and_destruction_0(int, int)':
/usr/local/include/odb/boost/multi-index/container-traits.hxx:211:1: internal compiler error: Segmentation fault: 11
 }
 ^
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.


Back in October when this error was discussed, you asked someone on the list to include a backtrace, and you gave instructions to run with “-x -dH”.  I tried that, but it didn’t work:

$ odb -x -dH -d sqlite --profile boost  test.h
*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_START_UNIT                | odb
PLUGIN_PRAGMAS                   | odb
PLUGIN_OVERRIDE_GATE             | odb
during GIMPLE pass: *warn_unused_result
In file included from <odb-epilogue-5>:1:
/usr/local/include/odb/boost/multi-index/container-traits.hxx: In function 'void __static_initialization_and_destruction_0(int, int)':
/usr/local/include/odb/boost/multi-index/container-traits.hxx:211:1: internal compiler error: Segmentation fault: 11
 }
 ^
libbacktrace could not find executable to open
g++-8: internal compiler error: Abort trap: 6 signal terminated program cc1plus
Please submit a full bug report,
with preprocessed source if appropriate.


Here is the GCC version I am using to build ODB:

$ g++-8 --version
g++-8 (Homebrew GCC 8.2.0) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.

Thanks,
Brian




More information about the odb-users mailing list