1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
This package fails the test fortran/layout_test in some circumstances.
As it passes in others, I suspect a bad test, and have enabled the package, disabling the tests
for the meantime.
Details debugged so far:
(1) ./layout_test works for me (TM)
(2) "make check" fails on this test.
(3) setting ulimit -s 8192 make check makes it work, on some platforms.
Running the test under valgrind leads to:
==10896== Process terminating with default action of signal 11 (SIGSEGV)
==10896== Access not within mapped region at address 0xBD08D00
==10896== at 0x42162D3: magics::Matrix::operator()(int, int) const (Matrix.h:300)
==10896== by 0x4219BD1: magics::MatrixHandler<magics::GeoPoint>::operator()(int, int) const (MatrixHandler.h:57)
while Matrix.h has:
297 double operator()(int row, int column) const
298 {
299 // Here for perfrormance we are trusting the user we do not catch exception
300 return (*this)[ row * columns_ + column];
301
302 }
Core dump:
Core was generated by `./layout_test'.
Program terminated with signal 11, Segmentation fault.
#0 magics::Matrix::operator() (this=0x77eb0b98, row=511, column=85) at ../../src/common/Matrix.h:300
300 return (*this)[ row * columns_ + column];
(gdb)
(gdb) where
#0 magics::Matrix::operator() (this=0x77eb0b98, row=511, column=85) at ../../src/common/Matrix.h:300
#1 0x4020ebd2 in magics::MatrixHandler<magics::GeoPoint>::operator() (this=0x77ee42e0, i=511, j=85) at ../../src/common/MatrixHandler.h:57
#2 0x4020ebd2 in magics::MatrixHandler<magics::GeoPoint>::operator() (this=0xbfe0d384, i=511, j=85) at ../../src/common/MatrixHandler.h:57
#3 0x4024f140 in magics::BoxMatrixHandler<magics::GeoPoint>::operator() (this=0xbfe0d240, row=0, column=0) at ../../src/common/MatrixHandler.h:622
#4 0x4020ebd2 in magics::MatrixHandler<magics::GeoPoint>::operator() (this=0x7864b458, i=0, j=0) at ../../src/common/MatrixHandler.h:57
#5 0x4021140f in MatrixTreshold<magics::GeoPoint>::operator() (this=0xbfe0d340, row=0, column=0) at ../../src/visualisers/Contour.cc:69
#6 0x4021cf88 in setMinMax (this=0xbfe0d340) at ../../src/common/MatrixHandler.h:166
#7 max (this=0xbfe0d340) at ../../src/common/MatrixHandler.h:186
#8 magics::MatrixHandler<magics::GeoPoint>::max (this=0xbfe0d340) at ../../src/common/MatrixHandler.h:182
#9 0x4024e4fb in magics::Contour<magics::GeoPoint>::operator() (this=0x85f4e68, data=..., parent=...) at ../../src/visualisers/Contour.cc:124
#10 0x4022110a in magics::VisualAction<magics::GeoPoint>::visit (this=0x85f3788, drawing=...) at VisualAction.cc:82
#11 0x402f4f37 in magics::DrawingVisitor::visit (this=0x78961678, object=...) at SceneVisitor.h:116
#12 0x4021aa14 in magics::VisualAction<magics::GeoPoint>::visit (this=0x85f3788, layer=..., visitors=...) at VisualAction.cc:268
#13 0x402cd2e5 in magics::ViewNode::visit (this=0x85f3b80, tree=...) at ViewNode.cc:263
#14 0x402c9312 in dispatch<magics::SceneLayer> (visitor=..., this=0x85f37c0) at BasicSceneObject.h:194
#15 magics::FortranSceneNode::visit (this=0x85f37c0, tree=...) at SceneNode.cc:130
#16 0x402c806e in dispatch<magics::Layout> (visitor=..., this=0x85ea528) at BasicSceneObject.h:194
#17 visit (tree=..., this=0x85ea528) at BasicSceneObject.h:256
#18 magics::RootScenePage::visit (this=0x85ea528, tree=...) at RootSceneNode.h:61
#19 0x402c5c36 in dispatch<magics::Layout> (visitor=..., this=0x85eb220) at BasicSceneObject.h:194
#20 magics::RootSceneNode::execute (this=0x85eb220) at RootSceneNode.cc:255
#21 0x402000e9 in magics::FortranMagics::pclose (this=0x85e8728) at FortranMagics.cc:150
#22 0x4035b994 in pclose_ () at MagicsCalls.cc:714
#23 0x080491f7 in layout_test () at layout_test.f:96
#24 main (argc=1, argv=0xbfe0ed4d "./layout_test") at layout_test.f:99
#25 0x40ac6e46 in __libc_start_main (main=0x8048e90 <main>, argc=1, ubp_av=0xbfe0d794, init=0x804aba0 <__libc_csu_init>, fini=0x804ab90 <__libc_csu_fini>,
rtld_fini=0x4000e310, stack_end=0xbfe0d78c) at libc-start.c:228
#26 0x08049261 in _start ()
|