Opened 8 years ago

Closed 8 years ago

#7915 closed defect (fixed)

openjade segfaults when built with gcc-6.1

Reported by: ken@… Owned by: ken@…
Priority: normal Milestone: 7.10
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

I got a segfault when testing docbook-dsssl post-install (the third test), and another when trying to build docbook-utils.

The test is

openjade -t rtf \
    -d /usr/share/sgml/docbook/dsssl-stylesheets-1.79/print/docbook.dsl \
    test.sgm

I got a bt:

0x00007ffff7d17c31 in OpenJade_DSSSL::SchemeParser::parseDatum(unsigned int, OpenJade_DSSSL::ELObj*&, OpenSP::Location&, OpenJade_DSSSL::SchemeParser::Token&) () from /usr/lib64/libostyle.so.0
(gdb) bt
#0  0x00007ffff7d17c31 in OpenJade_DSSSL::SchemeParser::parseDatum(unsigned int, OpenJade_DSSSL::ELObj*&, OpenSP::Location&, OpenJade_DSSSL::SchemeParser::Token&) () from /usr/lib64/libostyle.so.0
#1  0x00007ffff7d1973d in OpenJade_DSSSL::SchemeParser::doElement() () from /usr/lib64/libostyle.so.0
#2  0x00007ffff7d20439 in OpenJade_DSSSL::SchemeParser::parse() () from /usr/lib64/libostyle.so.0
#3  0x00007ffff7d256b8 in OpenJade_DSSSL::StyleEngine::parseSpec(OpenSP::SgmlParser&, OpenSP::CharsetInfo const&, OpenSP::String<unsigned int> const&, OpenSP::Messenger&) () from /usr/lib64/libostyle.so.0
#4  0x00007ffff7cc3674 in OpenJade_DSSSL::DssslApp::processGrove() () from /usr/lib64/libostyle.so.0
#5  0x00007ffff7b32e3f in OpenSP::GroveApp::generateEvents(OpenSP::ErrorCountEventHandler*) () from /usr/lib64/libospgrove.so.0
#6  0x00007ffff7cc39f2 in OpenJade_DSSSL::DssslApp::processSysid(OpenSP::String<unsigned int> const&) ()
#7  0x00007ffff7eef9d2 in OpenSP::EntityApp::processArguments(int, char**) () from /usr/lib64/libosp.so.5
#8  0x00007ffff7edf619 in OpenSP::CmdLineApp::run(int, char**) () from /usr/lib64/libosp.so.5
#9  0x0000000000410973 in main ()
(gdb)

A quick google in links found nothing relevant. I've gone back to chroot to try building some of my desktop - if I can get that semi-usable I'll look around at the distros.

Change History (5)

comment:1 by ken@…, 8 years ago

Taking a look while I'm waiting: it was flagged up at gcc earlier this year, but without resolution other than noting that -O0 worked. But at https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg80678.html there is an apparent fix by adding CXXFLAGS += "-fno-tree-dse" to their recipe.

For us, if it works, I suppose that means CXXFLAGS="$CXXFLAGS -fno-tree-dse".

comment:2 by DJ Lucas, 8 years ago

If I'm reading that right, looks like -fno-lifetime-dse is a bit less agressive. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69534 Possibly useful for startup crash on firefox too.

comment:3 by ken@…, 8 years ago

Thanks for the suggestion, but neither variant, nor -O0, fixes openjade for me. I'll take a look in more detail later, it is possible that CXXFLAGS are not automatically picked up.

comment:4 by ken@…, 8 years ago

Owner: changed from blfs-book@… to ken@…
Status: newassigned

And then I finally got around to looking at fedora - their most recent change was

-export CXXFLAGS="%optflags -fno-tree-dse"
+export CXXFLAGS="%optflags -fno-lifetime-dse"

Not sure why neither worked for me, perhaps the export is critical (/me tests) - yes, it is.

comment:5 by ken@…, 8 years ago

Resolution: fixed
Status: assignedclosed

Fixed at r17453.

Note: See TracTickets for help on using tickets.