Makes mathicgb FTBFS and mathicgb autopkgtest fail

Bug #1680169 reported by Balint Reczey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tbb (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Running mathicgb tests with valgrind reveals crash in tbb 4.4~20160526-0ubuntu1:

g++ testMain.o Range.o gtestInclude.o gb-test.o ideals.o poly-test.o src/test/ideals.hpp SparseMatrix.o QuadMatrixBuilder.o F4MatrixBuilder.o F4MatrixReducer.o mathicgb.o PrimeField.o MonoMonoid.o Scanner.o MathicIO.o -lmathicgb -lmathic -lmemtailor -lpthread -ltbb -o testMain
valgrind -- ./testMain
==28427== Memcheck, a memory error detector
==28427== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==28427== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==28427== Command: ./testMain
==28427==
[==========] Running 237 tests from 27 test cases.
[----------] Global test environment set-up.
[----------] 9 tests from Range
[ RUN ] Range.Simple
[ OK ] Range.Simple (33 ms)
[ RUN ] Range.rangeToVector
[ OK ] Range.rangeToVector (6 ms)
[ RUN ] Range.zip
[ OK ] Range.zip (9 ms)
[ RUN ] Range.intRange
[ OK ] Range.intRange (23 ms)
[ RUN ] Range.indexRange
[ OK ] Range.indexRange (16 ms)
[ RUN ] Range.oppositePairRange
[ OK ] Range.oppositePairRange (16 ms)
[ RUN ] Range.adjPairRange
[ OK ] Range.adjPairRange (12 ms)
[ RUN ] Range.flatten
[ OK ] Range.flatten (13 ms)
[ RUN ] Range.flattenRecursive
[ OK ] Range.flattenRecursive (38 ms)
[----------] 9 tests from Range (172 ms total)

[----------] 1 test from IO
[ RUN ] IO.ideal
[ OK ] IO.ideal (34 ms)
[----------] 1 test from IO (34 ms total)

[----------] 11 tests from GB
[ RUN ] GB.small
==28427== Invalid read of size 8
==28427== at 0x57920BA: tbb::internal::generic_scheduler::allocate_task(unsigned long, tbb::task*, tbb::task_group_context*) (scheduler.cpp:315)
==28427== by 0x579218A: tbb::internal::generic_scheduler::generic_scheduler(tbb::internal::market&) (scheduler.cpp:100)
==28427== by 0x5793CE7: custom_scheduler (custom_scheduler.h:59)
==28427== by 0x5793CE7: tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::allocate_scheduler(tbb::internal::market&) (custom_scheduler.h:115)
==28427== by 0x5792691: allocate_scheduler (scheduler.cpp:42)
==28427== by 0x5792691: tbb::internal::generic_scheduler::create_master(tbb::internal::arena*) (scheduler.cpp:1001)
==28427== by 0x578D0F3: tbb::internal::governor::init_scheduler(int, unsigned long, bool) (governor.cpp:206)
==28427== by 0x578D1AB: tbb::task_scheduler_init::initialize(int, unsigned long) (governor.cpp:349)
==28427== by 0x17DC5F: tbb::task_scheduler_init::task_scheduler_init(int, unsigned long) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x17A0D0: testGB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x17ADED: GB_small_Test::TestBody() (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x16B0BC: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x165368: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x148EA1: testing::Test::Run() (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== Address 0xfffffffffffffff7 is not stack'd, malloc'd or (recently) free'd
==28427==
==28427==
==28427== Process terminating with default action of signal 11 (SIGSEGV)
==28427== Access not within mapped region at address 0xFFFFFFFFFFFFFFF7
==28427== at 0x57920BA: tbb::internal::generic_scheduler::allocate_task(unsigned long, tbb::task*, tbb::task_group_context*) (scheduler.cpp:315)
==28427== by 0x579218A: tbb::internal::generic_scheduler::generic_scheduler(tbb::internal::market&) (scheduler.cpp:100)
==28427== by 0x5793CE7: custom_scheduler (custom_scheduler.h:59)
==28427== by 0x5793CE7: tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::allocate_scheduler(tbb::internal::market&) (custom_scheduler.h:115)
==28427== by 0x5792691: allocate_scheduler (scheduler.cpp:42)
==28427== by 0x5792691: tbb::internal::generic_scheduler::create_master(tbb::internal::arena*) (scheduler.cpp:1001)
==28427== by 0x578D0F3: tbb::internal::governor::init_scheduler(int, unsigned long, bool) (governor.cpp:206)
==28427== by 0x578D1AB: tbb::task_scheduler_init::initialize(int, unsigned long) (governor.cpp:349)
==28427== by 0x17DC5F: tbb::task_scheduler_init::task_scheduler_init(int, unsigned long) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x17A0D0: testGB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x17ADED: GB_small_Test::TestBody() (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x16B0BC: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x165368: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== by 0x148EA1: testing::Test::Run() (in /home/rbalint/mathicgb-1.0~git20170104/testMain)
==28427== If you believe this happened as a result of a stack
==28427== overflow in your program's main thread (unlikely but
==28427== possible), you can try to increase the size of the
==28427== main thread stack using the --main-stacksize= flag.
==28427== The main thread stack size used in this run was 8388608.
==28427==
==28427== HEAP SUMMARY:
==28427== in use at exit: 115,732 bytes in 1,206 blocks
==28427== total heap usage: 3,666 allocs, 2,460 frees, 533,309 bytes allocated
==28427==
==28427== LEAK SUMMARY:
==28427== definitely lost: 176 bytes in 1 blocks
==28427== indirectly lost: 480 bytes in 3 blocks
==28427== possibly lost: 0 bytes in 0 blocks
==28427== still reachable: 115,076 bytes in 1,202 blocks
==28427== of which reachable via heuristic:
==28427== newarray : 792 bytes in 3 blocks
==28427== suppressed: 0 bytes in 0 blocks
==28427== Rerun with --leak-check=full to see details of leaked memory
==28427==
==28427== For counts of detected and suppressed errors, rerun with: -v
==28427== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
debian/tests/unittest:13: recipe for target 'all' failed

Debian unstable has an older tbb which does not crash Debian's mathicgb.

Tags: patch zesty
Revision history for this message
Balint Reczey (rbalint) wrote :

And the attached patch fixes the mathicgb tests and probably many other reverse dependencies.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "tbb_4.4~20160526-0ubuntu2.patch" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Balint Reczey (rbalint)
Changed in tbb (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.