Bug#873362: coinor-libcoinutils3v5: unannounced ABI change without SONAME change?
Rene Engelhard
rene at debian.org
Sat Aug 26 22:53:59 UTC 2017
Package: coinor-libcoinutils3v5
Version: 2.10.14+repack1-1
Severity: serious
Hi,
LOs unit tests fail (don't get confused by the name, also tests the CoinMP
based solver) since the last updates in sid:
build CUT] sccomp_lpsolver
S=/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2 && I=$S/instdir && W=$S/workdir && mkdir -p $W/CppunitTest/ && rm -fr $W/CppunitTest/sccomp_lpsolver.test.user && mkdir $W/CppunitTest/sccomp_lpsolver.test.user && rm -fr $W/CppunitTest/sccomp_lpsolver.test.core && mkdir $W/CppunitTest/sccomp_lpsolver.test.core && cd $W/CppunitTest/sccomp_lpsolver.test.core && ( LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"$I/program:$I/program":$W/UnpackedTarball/cppunit/src/cppunit/.libs MALLOC_CHECK_=2 MALLOC_PERTURB_=153 $W/LinkTarget/Executable/cppunittester $W/LinkTarget/CppunitTest/libtest_sccomp_lpsolver.so --headless "-env:BRAND_BASE_DIR=file://$S/instdir" "-env:BRAND_SHARE_SUBDIR=share" "-env:UserInstallation=file://$W/CppunitTest/sccomp_lpsolver.test.user" "-env:CONFIGURATION_LAYERS=xcsxcu:file://$I/share/registry xcsxcu:file://$W/unittest/registry" "-env:UNO_TYPES=file://$I/program/types.rdb file://$I/program/types/offapi.rdb" "-env:UNO_SERVICES=file://$W/Rdb/ure/services.rdb file://$W/Rdb/services.rdb" -env:URE_INTERNAL_LIB_DIR=file://$I/program -env:LO_LIB_DIR=file://$I/program -env:LO_JAVA_DIR=file://$I/program/classes --protector $W/LinkTarget/Library/unoexceptionprotector.so unoexceptionprotector --protector $W/LinkTarget/Library/unobootstrapprotector.so unobootstrapprotector --protector $W/LinkTarget/Library/libvclbootstrapprotector.so vclbootstrapprotector "-env:CPPUNITTESTTARGET=$W/CppunitTest/sccomp_lpsolver.test" ) > $W/CppunitTest/sccomp_lpsolver.test.log 2>&1 || ( RET=$?; $S/solenv/bin/gdb-core-bt.sh $W/LinkTarget/Executable/cppunittester $W/CppunitTest/sccomp_lpsolver.test.core $RET >> $W/CppunitTest/sccomp_lpsolver.test.log 2>&1; cat $W/CppunitTest/sccomp_lpsolver.test.log; $S/solenv/gbuild/platform/unittest-failed-default.sh Cppunit sccomp_lpsolver)
Segmentation fault (core dumped)
(anonymous namespace)::LpSolverTest::testLpSolver finished in: 579ms
It looks like /data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/LinkTarget/Executable/cppunittester generated a core file at /data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/CppunitTest/sccomp_lpsolver.test.core/core
Backtraces:
[New LWP 11917]
[New LWP 11918]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/Li'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f6dca552b9e in CoinMessageHandler::internalPrint() () from /usr/lib/x86_64-linux-gnu/libCoinUtils.so.3
[Current thread is 1 (Thread 0x7f6de7e2e740 (LWP 11917))]
warning: File "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/instdir/program/libuno_sal.so.3-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/instdir/program/libuno_sal.so.3-gdb.py
line to your configuration file "/tmp/tmp.Aw8SthVoRj/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/tmp/tmp.Aw8SthVoRj/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
warning: File "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/instdir/program/libuno_cppu.so.3-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
warning: File "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/instdir/program/libmergedlo.so-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
rax 0x0 0
rbx 0x55fce8a092d0 94544722957008
rcx 0x55fce8a094f8 94544722957560
rdx 0x30 48
rsi 0x0 0
rdi 0x55fce8a092d0 94544722957008
rbp 0x55fce8a092d0 0x55fce8a092d0
rsp 0x7ffe59817bc0 0x7ffe59817bc0
r8 0x4 4
r9 0x4 4
r10 0x0 0
r11 0x1 1
12 0x0 0
r13 0x1 1
r14 0x7ffe59818020 140730400079904
r15 0x0 0
rip 0x7f6dca552b9e 0x7f6dca552b9e <CoinMessageHandler::internalPrint()+78>
eflags 0x10212 [ AF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
i[...]
Thread 1 (Thread 0x7f6de7e2e740 (LWP 11917)):
#0 0x00007f6dca552b9e in CoinMessageHandler::internalPrint() () at /usr/lib/x86_64-linux-gnu/libCoinUtils.so.3
#1 0x00007f6dca552f4b in CoinMessageHandler::finish() () at /usr/lib/x86_64-linux-gnu/libCoinUtils.so.3
#2 0x00007f6dca553555 in CoinMessageHandler::operator<<(CoinMessageMarker) () at /usr/lib/x86_64-linux-gnu/libCoinUtils.so.3
#3 0x00007f6dc8d17e25 in ClpSimplex::initialSolve(ClpSolve&) () at /usr/lib/x86_64-linux-gnu/libClp.so.1
#4 0x00007f6dc8d1ea5f in ClpSimplex::initialSolve() () at /usr/lib/x86_64-linux-gnu/libClp.so.1
#5 0x00007f6dcab10dc0 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) () at /usr/lib/x86_64-linux-gnu/libCoinMP.so.1
#6 0x00007f6dcab10e5f in CbcOptimizeProblem () at /usr/lib/x86_64-linux-gnu/libCoinMP.so.1
#7 0x00007f6dcad23609 in CoinMPSolver::solve() (this=0x55fce8f5bd90) at ./sccomp/source/solver/CoinMPSolver.cxx:324
aVariableCells = std::vector of length 1, capacity 1 = {{Sheet = 0, Column = 0, Row = 0}}
nVar = <optimized out>
aCellsHash = std::unordered_map with 1 element = {[{Sheet = 0, Column = 0, Row = 0}] = std::vector of length 2, capacity 2 = {0, 1}}
aVarIter = <optimized out>
aCellsIter = <optimized out>
rObjCoeff = <optimized out>
nObjectConst = <optimized out>
nRows = <optimized out>
nCompSize = <optimized out>
pCompMatrix = 0x0
pRHS = 0x55fce8d2d5b0
pMatrixBegin = 0x55fce8d2d5f0
pMatrixCount = 0x55fce8bbb8f0
pMatrix = <optimized out>
nMatrixPos = <optimized out>
pLowerBounds = 0x55fce8a15340
nObjectSense = <optimized out>
hProb = 0x55fce8d2d6d0
nResult = <optimized out>
#8 0x00007f6dcf53ae98 in (anonymous namespace)::LpSolverTest::testSolver(rtl::OUString const&) (this=this at entry=0x55fce881b8a0, rName=...) at ./sccomp/qa/unit/lpsolver.cxx:99
aObjective = {Sheet = 0, Column = 0, Row = 0}
aVariables = {_pSequence = 0x55fce8d2d5d0, static s_pType = 0x55fce8ebda70}
aConstraints = {_pSequence = 0x55fce89e7ee0, static s_pType = 0x55fce8ebffc0}
aSolution = {_pSequence = 0x55fce7bced60, static s_pType = 0x0}
#9 0x00007f6dcf53bc05 in (anonymous namespace)::LpSolverTest::testCoinMPSolver() (this=0x55fce881b8a0) at ./sccomp/qa/unit/lpsolver.cxx:70
10 0x00007f6de7a11bf2 in CppUnit::TestCaseMethodFunctor::operator()() const () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#11 0x00007f6de63326c3 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (this=0x55fce7a54a60, functor=..., context=...) at ./unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63
#12 0x00007f6de7a081d3 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#13 0x00007f6de7a0ed55 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#14 0x00007f6de7a1778c in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#15 0x00007f6de7a11a30 in CppUnit::TestCase::run(CppUnit::TestResult*) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#16 0x00007f6de7a11f03 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#17 0x00007f6de7a11e1e in CppUnit::TestComposite::run(CppUnit::TestResult*) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#18 0x00007f6de7a11f03 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#19 0x00007f6de7a11e1e in CppUnit::TestComposite::run(CppUnit::TestResult*) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#20 0x00007f6de7a176b2 in CppUnit::TestResult::runTest(CppUnit::Test*) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#21 0x00007f6de7a1a06e in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /usr/lib/x86_64-linux-gnu/libcppunit-1.14.so.0
#22 0x000055fce6711eb4 in (anonymous namespace)::ProtectedFixtureFunctor::run() const (this=0x7ffe59819590) at ./sal/cppunittester/cppunittester.cxx:316
collector = <incomplete type>
logger = {<CppUnit::TestListener> = {_vptr.TestListener = 0x55fce6917a30 <vtable for (anonymous namespace)::LogFailuresAsTheyHappen+16>}, <No data fields>}
timer = {<CppUnit::TestListener> = {_vptr.TestListener = 0x55fce6917980 <vtable for (anonymous namespace)::TimingListener+16>}, m_nStartTime = 655}
eye = {<CppUnit::TestListener> = {_vptr.TestListener = 0x55fce69179d8 <vtable for (anonymous namespace)::EyecatcherListener+16>}, <No data fields>}
lib = "libtest_sccomp_lpsolver.so"
runner = <incomplete type>
pVal = 0x0
outputter = <incomplete type>
manager = <incomplete type>
success = <optimized out>
#23 0x000055fce67126e4 in sal_main() () at ./sal/cppunittester/cppunittester.cxx:466
testlib = "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/LinkTarget/CppunitTest/libtest_sccomp_lpsolver.so"
tests = {<CppUnit::Functor> = {<No data fields>}, testlib = "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/LinkTarget/CppunitTest/libtest_sccomp_lpsolver.so", args = "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/LinkTarget/CppunitTest/libtest_sccomp_lpsolver.so --headless", protectors = std::vector of length 3, capacity 4 = {0x55fce7a54a60, 0x55fce7a95220, 0x55fce7cdd770}, result = @0x7ffe598195c0}
protectors = std::vector of length 3, capacity 4 = {0x55fce7a54a60, 0x55fce7a95220, 0x55fce7cdd770}
result = <incomplete type>
args = "/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/LinkTarget/CppunitTest/libtest_sccomp_lpsolver.so --headless"
index = <optimized out>
ok = false
path = {pData = 0x55fce7d09c10}
#24 0x000055fce6710bfb in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./sal/cppunittester/cppunittester.cxx:373
ret = <optimized out>
Error: a unit test failed, please do one of:
make CppunitTest_sccomp_lpsolver CPPUNITTRACE="gdb --args"
# for interactive debugging on Linux
make CppunitTest_sccomp_lpsolver VALGRIND=memcheck
# for memory checking
make CppunitTest_sccomp_lpsolver DEBUGCPPUNIT=TRUE
# for exception catching
/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/solenv/gbuild/CppunitTest.mk:112: recipe for target '/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/CppunitTest/sccomp_lpsolver.test' failed
make[4]: *** [/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/workdir/CppunitTest/sccomp_lpsolver.test] Error 1
make[4]: Leaving directory '/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2'
Makefile:267: recipe for target 'build' failed
make[3]: *** [build] Error 2
make[3]: Leaving directory '/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2'
/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/debian/rules:2010: recipe for target 'check' failed
make[2]: *** [check] Error 2
make[2]: Leaving directory '/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2'
/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2/debian/rules:1936: recipe for target 'debian/stampdir/build-arch' failed
make[1]: *** [debian/stampdir/build-arch] Error 2
make[1]: Leaving directory '/data/rene/Debian/Pakete/LibreOffice/libreoffice/libreoffice-5.4.1.2'
debian/rules:1929: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Note that it crashes in CoinUtils (see Thread 1).
What makes me think is a CoinUtils bug - espescially since rebuilding CoinMP
without any change and installing those packages fixes this test.
Reinstalling sids version of CoinMP breaks again.
So I believe ABI changed a) without telling r-depends and
b) without changing package name?
Or is this one more instance of the gcc7 rebuilds needed? Though it builds,
just fails at runtime...
Regards,
Rene
More information about the debian-science-maintainers
mailing list