On Sun, Apr 1, 2018 at 3:20 AM Aaron Glenn <[email protected]> wrote:
> Hi, > > I am the next foolish person in line trying to get any version of protobuf > 3.x compiled and tests passing on OpenBSD. Release 3.5.1 compiles without > much fuss but when running tests, a segmentation fault occurs at the start > of JsonStreamParserTest. > > [----------] 70 tests from JsonStreamParserTest > [ RUN ] JsonStreamParserTest.SimpleTrue > > Program received signal SIGSEGV, Segmentation fault. > 0x00000cd0eddfdd54 in > testing::Sequence::AddExpectation(testing::Expectation const&) const () > from /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgmock.so.0.0 > (gdb) bt > #0 0x00000cd0eddfdd54 in > testing::Sequence::AddExpectation(testing::Expectation const&) const () > from /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgmock.so.0.0 > #1 0x00000cceb7261033 in > testing::internal::MockSpec<google::protobuf::util::converter::ObjectWriter* > (google::protobuf::StringPiece, bool)>::InternalExpectedAt(char const*, > int, char const*, char const*) () > #2 0x00000cceb7266825 in > google::protobuf::util::converter::ExpectingObjectWriter::RenderBool(google::protobuf::StringPiece, > bool) () > #3 0x00000cceb72805f6 in > google::protobuf::util::converter::JsonStreamParserTest_SimpleTrue_Test::TestBody() > () > #4 0x00000cd1178b8d81 in void > testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, > void>(testing::Test*, void (testing::Test::*)(), char const*) () > from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #5 0x00000cd1178af48a in testing::Test::Run() () from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #6 0x00000cd1178af5d8 in testing::TestInfo::Run() () from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #7 0x00000cd1178af6b5 in testing::TestCase::Run() () from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #8 0x00000cd1178af9c8 in testing::internal::UnitTestImpl::RunAllTests() > () from /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #9 0x00000cd1178b92f1 in bool > testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, > bool>(testing::internal::UnitTestImpl*, bool > (testing::internal::UnitTestImpl::*)(), char const*) () > from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #10 0x00000cd1178afca7 in testing::UnitTest::Run() () from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgtest.so.0.0 > #11 0x00000cd19db06519 in main () from > /usr/ports/pobj/protobuf-3.5.1/build-amd64/src/.libs/libgmock_main.so.0.0 > #12 0x00000cceb6e05026 in _start () > (gdb) > > I am woefully out of my element, and concerted Google/GitHub/mailing list > searching did not produce any actionable data for me. I fully understand no > developers have access to OpenBSD machines in their testing infra (and > while that can be arranged to whatever specifics required, I understand the > project is not interested in having an OpenBSD machine in their infra to > reproduce this on). > > My questions are: > > 1) how can I build with debug symbols to get `backtrace full` output > working as intended? where do I put the -g flag to get passed to gcc in the > CMake makefile system? do I pass this with ./configure? > If you are using cmake, do: cmake -DCMAKE_BUILD_TYPE=Debug or if you want to pass specific C++ flags: cmake -DCMAKE_CXX_FLAGS=-g If you are using autotools (i.e., ./configure && make), do: ./configure CXXFLAGS=-g > 2) would anyone be so kind as to venture a guess or three where I should > be looking or attempting next? > The issue could be in gmock, or the way gmock is built. I suggest you try different ways to build the tests and see if that makes any difference. For example, try build the tests statically, try both autotools build and cmake build. > > Again, I understand no one can reproduce this due to lack (and seemingly > desire) of having an OpenBSD machine. I am that someone. I am highly > motivated to get this working. I humbly ask for any and all assistance > anyone can be bothered to provide. > > Many thanks, > Aaron > > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/protobuf. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
