Dear Bernhard,

Thank you for your investigation and your time. You are right about these double delete and this will have to be fixed.

But I am still puzzled:
1) your patch is absolutely required for handling delete properly (btw thanks for the corresponding references!) but unfortunately it can fix only some of the tests 2) this bug only appeared recently, no segfault were detected before on sid (first trace I found of a failure is in our weekly packaging test last Sunday 15 September, everything was fine on Sunday 9 September)
3) the segfaults are generated during testing

This probably means that the problem comes from a deeper (darker, harder to find) side of the build.

So I started with the first test on the list that generates a segfaults (test #27 named action-editframes-level1-1) and run it through the debugger (I run it through the same xvfb-run command line as in the debian/control file).

Here is the first outcome:

xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" /usr/bin/gdb /root/packaging/camitk-debian-ci/camitk-build/bin/camitk-testactions
GNU gdb (Debian 8.1-4+b1) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /root/packaging/camitk-debian-ci/camitk-build/bin/camitk-testactions...done. (gdb) r "-i" "/root/packaging/camitk-debian-ci/camitk-build/share/camitk-4.2/testdata/brain.mha" "-a" "/root/packaging/camitk-debian-ci/camitk-build/lib/camitk-4.2/actions/libeditframes.so" Starting program: /root/packaging/camitk-debian-ci/camitk-build/bin/camitk-testactions "-i" "/root/packaging/camitk-debian-ci/camitk-build/share/camitk-4.2/testdata/brain.mha" "-a" "/root/packaging/camitk-debian-ci/camitk-build/lib/camitk-4.2/actions/libeditframes.so"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
camitk-testactions run with arguments:
- action library file: "/root/packaging/camitk-debian-ci/camitk-build/lib/camitk-4.2/actions/libeditframes.so" - input test file: "/root/packaging/camitk-debian-ci/camitk-build/share/camitk-4.2/testdata/brain.mha"
Working directory: /root/packaging/camitk-debian-ci/camitk-build
Starting the camitk default application...
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[New Thread 0x7fffec879700 (LWP 8505)]
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[New Thread 0x7fffe7f46700 (LWP 8507)]
[OK]
Opening component: /root/packaging/camitk-debian-ci/camitk-build/share/camitk-4.2/testdata/brain.mha...
[New Thread 0x7fffda562700 (LWP 8514)]
[New Thread 0x7fffd9d61700 (LWP 8515)]
[New Thread 0x7fffd9560700 (LWP 8516)]
[Thread 0x7fffda562700 (LWP 8514) exited]
[New Thread 0x7fffd8d5f700 (LWP 8517)]
[Thread 0x7fffd9d61700 (LWP 8515) exited]
[New Thread 0x7fffd3fff700 (LWP 8518)]
[New Thread 0x7fffd37fe700 (LWP 8519)]
[New Thread 0x7fffd2ffd700 (LWP 8520)]
[Thread 0x7fffd9560700 (LWP 8516) exited]
[Thread 0x7fffd8d5f700 (LWP 8517) exited]
[Thread 0x7fffd3fff700 (LWP 8518) exited]
[Thread 0x7fffd2ffd700 (LWP 8520) exited]
[Thread 0x7fffd37fe700 (LWP 8519) exited]
[New Thread 0x7fffd2ffd700 (LWP 8521)]
[New Thread 0x7fffd37fe700 (LWP 8522)]
[New Thread 0x7fffd3fff700 (LWP 8523)]
[New Thread 0x7fffd8d5f700 (LWP 8524)]
[New Thread 0x7fffd25c4700 (LWP 8525)]
[New Thread 0x7fffd1dc3700 (LWP 8526)]
[New Thread 0x7fffd15c2700 (LWP 8527)]
[New Thread 0x7fffd0dc1700 (LWP 8528)]

Thread 1 "camitk-testacti" received signal SIGSEGV, Segmentation fault.
0x00007ffff5718f15 in vtkTextProperty::ShallowCopy(vtkTextProperty*) () from /lib/x86_64-linux-gnu/libvtkRenderingCore-6.3.so.6.3
(gdb) where
#0  0x00007ffff5718f15 in vtkTextProperty::ShallowCopy(vtkTextProperty*) () from /lib/x86_64-linux-gnu/libvtkRenderingCore-6.3.so.6.3 #1  0x00007ffff7f457d7 in camitk::RendererWidget::RendererWidget(QWidget*, camitk::RendererWidget::ControlMode) () at /usr/include/vtk-6.3/vtkSmartPointer.h:77 #2  0x00007ffff7f31d42 in camitk::InteractiveViewer::InteractiveViewer(QString&, camitk::InteractiveViewer::ViewerType) ()
    at ./sdk/libraries/core/viewer/InteractiveViewer.cpp:192
#3  0x00007ffff7f33533 in camitk::InteractiveViewer::getNewViewer(QString, camitk::InteractiveViewer::ViewerType) ()
    at ./sdk/libraries/core/viewer/InteractiveViewer.cpp:90
#4  0x00007ffff7f337c5 in camitk::InteractiveViewer::getViewer(QString) () at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:953 #5  0x00007ffff7f33b25 in camitk::InteractiveViewer::getAxialViewer() () at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:953 #6  0x00007ffff7efea2f in camitk::SingleImageComponent::initRepresentation() () at ./sdk/libraries/core/component/image/SingleImageComponent.cpp:94 #7  0x00007ffff7efeb67 in camitk::SingleImageComponent::SingleImageComponent(camitk::Component*, camitk::Slice::SliceOrientation, QString const&, vtkSmartPointer<vtkWindowLevelLookupTable>) () at ./sdk/libraries/core/component/image/SingleImageComponent.cpp:58 #8  0x00007ffff7ef5fbf in camitk::ImageComponent::buildImageComponents() () at /usr/include/vtk-6.3/vtkSmartPointer.h:26 #9  0x00007ffff7ef8b4d in camitk::ImageComponent::setImageData(vtkSmartPointer<vtkImageData>, bool, camitk::ImageOrientationHelper::PossibleImageOrientations, vtkSmartPointer<vtkMatrix4x4>) () at ./sdk/libraries/core/component/image/ImageComponent.cpp:313 #10 0x00007fffdb5f1df9 in VtkImageComponent::createComponent(QString const&) () at /usr/include/vtk-6.3/vtkSmartPointer.h:26 #11 0x00007fffdb5f2905 in VtkImageComponent::VtkImageComponent(QString const&) () at ./sdk/components/vtkimage/VtkImageComponent.cpp:53 #12 0x00007fffdb5f2f3a in VtkImageComponentExtension::open(QString const&) () at ./sdk/components/vtkimage/VtkImageComponentExtension.cpp:76 #13 0x00007ffff7ec6c24 in camitk::Application::open(QString const&) () at ./sdk/libraries/core/application/Application.cpp:470 #14 0x000055555555b3df in main () at /usr/include/c++/8/bits/basic_string.h:2293 #15 0x00007ffff6e90b17 in __libc_start_main (main=0x55555555ae80 <main>, argc=5, argv=0x7fffffffeb58, init=<optimized out>, fini=<optimized out>,     rtld_fini=<optimized out>, stack_end=0x7fffffffeb48) at ../csu/libc-start.c:310 #16 0x000055555555c1aa in _start () at ./sdk/applications/testactions/main.cpp:189

It is very strange as this specific call to vtkTextProperty::ShallowCopy never generated a segfault in any version of the code. Is this a problem linked with X11/OpenGL?

This is where I am at the moment, nothing solved at all, but I wanted to let you know of this findings.

I suspect something changed in one of the dependencies that generates this. I tried to check which package was modified recently and might have influence this. I found that xvfb might changed recently and I am currently rebuilding with an older version installed to checked (but that looks like groping my way along!)

Andreas, do you have any smart way to check the list of packages that have changed/been uploaded in sid in the dependencies of a package during a period of time (here from 9 Sep to 15 Sep)? This might help me finding how to solve this.

Thanks for your help again and hopefully this will be tackled down soon!

Mahnu


On 20/09/2018 20:59, Andreas Tille wrote:
Control: tags -1 upstream

Hi Bernhard,

thanks a lot for your investigation.  Emmanuel Promayon is Uploader and
Upstream and I think he will come back to you and hopefully will
implement the fix soon.

Kind regards

        Andreas.

On Thu, Sep 20, 2018 at 06:01:38PM +0200, Bernhard Übelacker wrote:
Hello all,
I tried to reproduce this issue.

Unfortunately I never get the "(SEGFAULT)" output for all tests,
just "(Failed)" for most. But some do really segfault in my amd64 VM.

I think the segfaults are caused by the line "delete component;", that
invalidates the iterator by removing its element from the components vector.

For some reason the iterator contains still the previous pointer
and therefore we try to delete the same pointer twice.


Attached patch tries to change the loop assuming that the
deleted element will always be removed inside the delete operation.

With that patch I do not get any segfault, but still tests
fail for some reason.


Kind regards,
Bernhard




# Here we crash:

(gdb) bt
#0  0x0000000000000061 in ?? ()
#1  0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
#2  0x00007fffeb32c11f in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:41
#3  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#4  0x00007fffeb32ce3a in PhysicalModel::clear (this=this@entry=0x555555705ef0) 
at ./modeling/libraries/pml/PhysicalModel.cpp:99
#5  0x00007fffeb32cf17 in PhysicalModel::~PhysicalModel (this=0x555555705ef0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:68
#6  0x00007fffeb32cf59 in PhysicalModel::~PhysicalModel (this=0x555555705ef0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:67
#7  0x00007fffeb317a3d in PMLComponent::~PMLComponent (this=0x555555660a00, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:96
#8  0x00007fffeb3185a9 in PMLComponent::~PMLComponent (this=0x555555660a00, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:93
#9  0x00007ffff7ec4ad7 in camitk::Application::close(camitk::Component*) () at 
./sdk/libraries/core/application/Application.cpp:623
#10 0x000055555555bc5c in main () at 
./sdk/applications/testcomponents/main.cpp:204
#11 0x00007ffff6e99b17 in __libc_start_main (main=0x55555555b080 <main>, argc=9, 
argv=0x7fffffffe398, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized 
out>, stack_end=0x7fffffffe388) at ../csu/libc-start.c:310
#12 0x000055555555c35a in _start () at 
./sdk/applications/testcomponents/main.cpp:136

(gdb) list -
46
47      // ------------------ deleteAllSubComponents ---------------------
48      void MultiComponent::deleteAllSubComponents() {
49          for (auto& component : components) {
50              delete component;
51          }
52          components.clear();
53      }




# Here the pointer being deleted is removed from the components vector
# and that way invalidating the iterator.

(gdb) bt
#0  MultiComponent::removeSubComponent (c=0x5555579d70f0, this=0x555556d98330) 
at ./modeling/libraries/pml/MultiComponent.h:134
#1  Component::removeFromParents() () at 
./modeling/libraries/pml/Component.cpp:60
#2  0x00007fffeb32c127 in MultiComponent::~MultiComponent (this=0x5555579d70f0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:44
#3  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x5555579d70f0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#4  0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
#5  0x00007fffeb32c11f in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:41
#6  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#7  0x00007fffeb32ce3a in PhysicalModel::clear (this=this@entry=0x555555705ef0) 
at ./modeling/libraries/pml/PhysicalModel.cpp:99
...

(gdb) list modeling/libraries/pml/MultiComponent.h:134
129     }
130     inline void MultiComponent::removeSubComponent(Component* c) {
131         auto it = std::find(components.begin(), components.end(), c);
132         if (it != components.end()) {
133             components.erase(it);
134             c->removeParentMultiComponent(this);
135         }
136     }
 From 52f172e553ebddf068b8e35601da5eefd295cf3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20=C3=9Cbelacker?= <bernha...@mailbox.org>
Date: Thu, 20 Sep 2018 17:42:14 +0200
Subject: [PATCH] Make loop safe for removal of elements.

Bug-Debian: https://bugs.debian.org/909120
Forwarded: no
Last-Update: 2018-09-20

---
  modeling/libraries/pml/MultiComponent.cpp | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/modeling/libraries/pml/MultiComponent.cpp 
b/modeling/libraries/pml/MultiComponent.cpp
index 5a3a9ab..3f32d7b 100644
--- a/modeling/libraries/pml/MultiComponent.cpp
+++ b/modeling/libraries/pml/MultiComponent.cpp
@@ -46,8 +46,10 @@ MultiComponent::~MultiComponent() {
// ------------------ deleteAllSubComponents ---------------------
  void MultiComponent::deleteAllSubComponents() {
-    for (auto& component : components) {
-        delete component;
+    auto component = components.begin();
+    while (component != components.end()) {
+        delete *component;
+        component = components.begin();
      }
      components.clear();
  }
--
2.18.0

apt build-dep camitk
apt install mc systemd-coredump fakeroot gdb valgrind git

mkdir camitk/orig -p
cd    camitk/orig
apt source camitk
cd ../..


cd camitk
cp -a orig try1
cd try1/camitk-4.1.2
dpkg-buildpackage






[Do Sep 20 14:40:07 2018] camitk-testcomp[13880]: segfault at 61 ip 
0000000000000061 sp 00007ffd2faf02b8 error 14 in 
camitk-testcomponents[5558b0632000+6000]
[Do Sep 20 14:40:07 2018] Code: Bad RIP value.
[Do Sep 20 14:40:13 2018] camitk-pmltest[14203]: segfault at 61 ip 
0000000000000061 sp 00007ffc12fe0378 error 14 in 
camitk-pmltest[5646aa3bd000+32000]
[Do Sep 20 14:40:13 2018] Code: Bad RIP value.
[Do Sep 20 14:40:13 2018] camitk-pmltest[14209]: segfault at 60 ip 
0000000000000060 sp 00007fff1e99c318 error 14 in 
camitk-pmltest[5555ba7f8000+32000]
[Do Sep 20 14:40:13 2018] Code: Bad RIP value.
[Do Sep 20 15:00:33 2018] camitk-testcomp[6725]: segfault at 61 ip 
0000000000000061 sp 00007ffec31045f8 error 14 in 
camitk-testcomponents[55918d497000+6000]
[Do Sep 20 15:00:33 2018] Code: Bad RIP value.
[Do Sep 20 15:00:35 2018] camitk-pmltest[6962]: segfault at 61 ip 
0000000000000061 sp 00007ffce42fdcf8 error 14 in 
camitk-pmltest[55c3677ad000+32000]
[Do Sep 20 15:00:35 2018] Code: Bad RIP value.
[Do Sep 20 15:00:35 2018] camitk-pmltest[6968]: segfault at 60 ip 
0000000000000060 sp 00007ffc63c40758 error 14 in 
camitk-pmltest[56436f528000+32000]
[Do Sep 20 15:00:35 2018] Code: Bad RIP value.

root@debian:~# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Thu 2018-09-20 14:40:08 CEST  13880  1000  1000  11 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents
Thu 2018-09-20 14:40:14 CEST  14203  1000  1000  11 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-pmltest
Thu 2018-09-20 14:40:14 CEST  14209  1000  1000  11 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-pmltest
-- Thu 2018-09-20 14:41:32 CEST  18340  1000  1000   6 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testloggercrash
Thu 2018-09-20 15:00:34 CEST   6725  1000  1000  11 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents
Thu 2018-09-20 15:00:36 CEST   6962  1000  1000  11 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-pmltest
Thu 2018-09-20 15:00:36 CEST   6968  1000  1000  11 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-pmltest
-- Thu 2018-09-20 15:00:50 CEST   9671  1000  1000   6 present   
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testloggercrash



directory /home/benutzer/camitk/try1/camitk-4.1.2
set height 0
set width 0
set pagination off
b MultiComponent::deleteAllSubComponents

coredumpctl gdb 13880
Core was generated by 
`/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents'.
Program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
#0  0x0000000000000061 in ?? ()
#1  0x00007f43f27340d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x5558b3645390) at 
./modeling/libraries/pml/MultiComponent.cpp:50
#2  0x00007f43f273411f in MultiComponent::~MultiComponent (this=0x5558b3645390, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:41
#3  0x00007f43f2734149 in MultiComponent::~MultiComponent (this=0x5558b3645390, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#4  0x00007f43f2734e3a in PhysicalModel::clear (this=this@entry=0x5558b1eae860) 
at ./modeling/libraries/pml/PhysicalModel.cpp:99
#5  0x00007f43f2734f17 in PhysicalModel::~PhysicalModel (this=0x5558b1eae860, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:68
#6  0x00007f43f2734f59 in PhysicalModel::~PhysicalModel (this=0x5558b1eae860, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:67
#7  0x00007f43f271fa3d in PMLComponent::~PMLComponent (this=0x5558b1eaf460, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:96
#8  0x00007f43f27205a9 in PMLComponent::~PMLComponent (this=0x5558b1eaf460, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:93
#9  0x00007f43ff2ccad7 in camitk::Application::close(camitk::Component*) () at 
./sdk/libraries/core/application/Application.cpp:623
#10 0x00005558b0639c5c in main () at 
./sdk/applications/testcomponents/main.cpp:204
#11 0x00007f43fe2a1b17 in __libc_start_main (main=0x5558b0639080 <main>, argc=9, 
argv=0x7ffd2faf0718, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized 
out>, stack_end=0x7ffd2faf0708) at ../csu/libc-start.c:310
#12 0x00005558b063a35a in _start () at 
./sdk/applications/testcomponents/main.cpp:136

(gdb) print argv[0]
$4 = 0x7ffd2faf2902 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents"
(gdb) print argv[1]
$5 = 0x7ffd2faf2951 "-i"
(gdb) print argv[2]
$6 = 0x7ffd2faf2954 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml"
(gdb) print argv[3]
$7 = 0x7ffd2faf29b1 "-c"
(gdb) print argv[4]
$8 = 0x7ffd2faf29b4 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so"
(gdb) print argv[5]
$9 = 0x7ffd2faf2a16 "-l"
(gdb) print argv[6]
$10 = 0x7ffd2faf2a19 "2"
(gdb) print argv[7]
$11 = 0x7ffd2faf2a1b "-o"
(gdb) print argv[8]
$12 = 0x7ffd2faf2a1e 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2"
(gdb) print argv[9]
$13 = 0x0





Xvfb
export DISPLAY=:0
export LD_LIBRARY_PATH=/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib
gdb -q --args 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2

Reading symbols from 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents...done.
(gdb) run
Starting program: 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
camitk-testcomponents run with arguments:
- component library file: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so"
- input test file: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml"
- level of test: "2"
- output directory: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2"
Starting the camitk default application...
[New Thread 0x7fffec502700 (LWP 9777)]
[New Thread 0x7fffebbc5700 (LWP 9779)]
[OK]
Loading extension: 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so...
     Loaded extension: PML Component (<b>New PML COMPONENT!</b>). Managed 
extension:pml
[OK]
Opening component: truthcube.pml...
[New Thread 0x7fffe2854700 (LWP 9782)]
[New Thread 0x7fffe2053700 (LWP 9783)]
[New Thread 0x7fffe1852700 (LWP 9784)]
[New Thread 0x7fffe1051700 (LWP 9785)]
[New Thread 0x7fffe0850700 (LWP 9786)]
[New Thread 0x7fffc3fff700 (LWP 9787)]
[New Thread 0x7fffc37fe700 (LWP 9788)]
[New Thread 0x7fffc2ffd700 (LWP 9789)]
[OK]
Saving component to: truthcube.pml...
[OK]
Closing component: truthcube.pml...

Thread 1 "camitk-testcomp" received signal SIGSEGV, Segmentation fault.
0x0000000000000061 in ?? ()

(gdb) bt
#0  0x0000000000000061 in ?? ()
#1  0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d97e90) at 
./modeling/libraries/pml/MultiComponent.cpp:50
#2  0x00007fffeb32c11f in MultiComponent::~MultiComponent (this=0x555556d97e90, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:41
#3  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x555556d97e90, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#4  0x00007fffeb32ce3a in PhysicalModel::clear (this=this@entry=0x555555624690) 
at ./modeling/libraries/pml/PhysicalModel.cpp:99
#5  0x00007fffeb32cf17 in PhysicalModel::~PhysicalModel (this=0x555555624690, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:68
#6  0x00007fffeb32cf59 in PhysicalModel::~PhysicalModel (this=0x555555624690, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:67
#7  0x00007fffeb317a3d in PMLComponent::~PMLComponent (this=0x5555555bb1c0, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:96
#8  0x00007fffeb3185a9 in PMLComponent::~PMLComponent (this=0x5555555bb1c0, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:93
#9  0x00007ffff7ec4ad7 in camitk::Application::close(camitk::Component*) () at 
./sdk/libraries/core/application/Application.cpp:623
#10 0x000055555555bc5c in main () at 
./sdk/applications/testcomponents/main.cpp:204
#11 0x00007ffff6e99b17 in __libc_start_main (main=0x55555555b080 <main>, argc=9, 
argv=0x7fffffffe398, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized 
out>, stack_end=0x7fffffffe388)
     at ../csu/libc-start.c:310
#12 0x000055555555c35a in _start () at 
./sdk/applications/testcomponents/main.cpp:136







Xvfb
export DISPLAY=:0
export LD_LIBRARY_PATH=/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib
valgrind 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2
==10030== Memcheck, a memory error detector
==10030== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==10030== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==10030== Command: 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2
==10030==
--10030-- WARNING: unhandled amd64-linux syscall: 332
--10030-- You may be able to write your own handler.
--10030-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--10030-- Nevertheless we consider this a bug.  Please report
--10030-- it at http://valgrind.org/support/bug_reports.html.
camitk-testcomponents run with arguments:
- component library file: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so"
- input test file: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml"
- level of test: "2"
- output directory: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2"
Starting the camitk default application...
==10032==
==10032== HEAP SUMMARY:
==10032==     in use at exit: 461,568 bytes in 4,314 blocks
==10032==   total heap usage: 7,236 allocs, 2,922 frees, 1,125,942 bytes 
allocated
==10032==
==10032== LEAK SUMMARY:
==10032==    definitely lost: 2,080 bytes in 3 blocks
==10032==    indirectly lost: 51 bytes in 3 blocks
==10032==      possibly lost: 160 bytes in 2 blocks
==10032==    still reachable: 459,277 bytes in 4,306 blocks
==10032==         suppressed: 0 bytes in 0 blocks
==10032== Rerun with --leak-check=full to see details of leaked memory
==10032==
==10032== For counts of detected and suppressed errors, rerun with: -v
==10032== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==10034== Warning: invalid file descriptor 1024 in syscall close()
==10034== Warning: invalid file descriptor 1025 in syscall close()
==10034== Warning: invalid file descriptor 1026 in syscall close()
==10034== Warning: invalid file descriptor 1027 in syscall close()
==10034==    Use --log-fd=<number> to select an alternative log fd.
==10034== Warning: invalid file descriptor 1028 in syscall close()
==10034== Warning: invalid file descriptor 1029 in syscall close()
==10034==
==10034== HEAP SUMMARY:
==10034==     in use at exit: 851,380 bytes in 8,424 blocks
==10034==   total heap usage: 16,919 allocs, 8,495 frees, 3,946,535 bytes 
allocated
==10034==
==10034== LEAK SUMMARY:
==10034==    definitely lost: 2,616 bytes in 6 blocks
==10034==    indirectly lost: 88 bytes in 3 blocks
==10034==      possibly lost: 528 bytes in 3 blocks
==10034==    still reachable: 848,148 bytes in 8,412 blocks
==10034==         suppressed: 0 bytes in 0 blocks
==10034== Rerun with --leak-check=full to see details of leaked memory
==10034==
==10034== For counts of detected and suppressed errors, rerun with: -v
==10034== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
[OK]
Loading extension: 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so...
==10035==
==10035== HEAP SUMMARY:
==10035==     in use at exit: 1,021,005 bytes in 9,902 blocks
==10035==   total heap usage: 23,822 allocs, 13,920 frees, 4,463,793 bytes 
allocated
==10035==
==10035== LEAK SUMMARY:
==10035==    definitely lost: 5,872 bytes in 12 blocks
==10035==    indirectly lost: 139 bytes in 6 blocks
==10035==      possibly lost: 160 bytes in 2 blocks
==10035==    still reachable: 1,014,834 bytes in 9,882 blocks
==10035==         suppressed: 0 bytes in 0 blocks
==10035== Rerun with --leak-check=full to see details of leaked memory
==10035==
==10035== For counts of detected and suppressed errors, rerun with: -v
==10035== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
     Loaded extension: PML Component (<b>New PML COMPONENT!</b>). Managed 
extension:pml
[OK]
Opening component: truthcube.pml...
[OK]
Saving component to: truthcube.pml...
[OK]
Closing component: truthcube.pml...
==10030== Invalid read of size 8
==10030==    at 0x11CDE0D0: MultiComponent::deleteAllSubComponents() 
(MultiComponent.cpp:50)
==10030==    by 0x11CDE11E: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:41)
==10030==    by 0x11CDE148: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:45)
==10030==    by 0x11CDEE39: PhysicalModel::clear() (PhysicalModel.cpp:99)
==10030==    by 0x11CDEF16: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:68)
==10030==    by 0x11CDEF58: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:69)
==10030==    by 0x11CC9A3C: PMLComponent::~PMLComponent() (PMLComponent.cpp:96)
==10030==    by 0x11CCA5A8: PMLComponent::~PMLComponent() (PMLComponent.cpp:98)
==10030==    by 0x48D9AD6: camitk::Application::close(camitk::Component*) 
(Application.cpp:623)
==10030==    by 0x10FC5B: main (main.cpp:204)
==10030==  Address 0x196eff70 is 0 bytes inside a block of size 80 free'd
==10030==    at 0x4836EEB: operator delete(void*) (vg_replace_malloc.c:576)
==10030==    by 0x11CDE0D5: MultiComponent::deleteAllSubComponents() 
(MultiComponent.cpp:50)
==10030==    by 0x11CDE11E: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:41)
==10030==    by 0x11CDE148: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:45)
==10030==    by 0x11CDEE39: PhysicalModel::clear() (PhysicalModel.cpp:99)
==10030==    by 0x11CDEF16: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:68)
==10030==    by 0x11CDEF58: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:69)
==10030==    by 0x11CC9A3C: PMLComponent::~PMLComponent() (PMLComponent.cpp:96)
==10030==    by 0x11CCA5A8: PMLComponent::~PMLComponent() (PMLComponent.cpp:98)
==10030==    by 0x48D9AD6: camitk::Application::close(camitk::Component*) 
(Application.cpp:623)
==10030==    by 0x10FC5B: main (main.cpp:204)
==10030==  Block was alloc'd at
==10030==    at 0x4835E2F: operator new(unsigned long) (vg_replace_malloc.c:334)
==10030==    by 0x11CE45D1: 
PhysicalModel::parseComponents(physicalModel::MultiComponent, Component*, bool) 
(PhysicalModel.cpp:510)
==10030==    by 0x11CE51FB: PhysicalModel::parseTree(std::unique_ptr<physicalModel::PhysicalModel, 
std::default_delete<physicalModel::PhysicalModel> >, std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >) (PhysicalModel.cpp:439)
==10030==    by 0x11CE56B3: PhysicalModel::xmlRead(char const*) 
(PhysicalModel.cpp:385)
==10030==    by 0x11CE59D1: PhysicalModel::PhysicalModel(char const*, void 
(*)(float)) (PhysicalModel.cpp:63)
==10030==    by 0x11CCA836: PMLComponent::PMLComponent(QString const&) 
(PMLComponent.cpp:78)
==10030==    by 0x11CD0AEF: PMLComponentExtension::open(QString const&) 
(PMLComponentExtension.cpp:67)
==10030==    by 0x48DAC23: camitk::Application::open(QString const&) 
(Application.cpp:470)
==10030==    by 0x10FA02: main (main.cpp:180)
==10030==
==10030== Jump to the invalid address stated on the next line
==10030==    at 0x0: ???
==10030==    by 0x11CDE0D5: MultiComponent::deleteAllSubComponents() 
(MultiComponent.cpp:50)
==10030==    by 0x11CDE11E: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:41)
==10030==    by 0x11CDE148: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:45)
==10030==    by 0x11CDEE39: PhysicalModel::clear() (PhysicalModel.cpp:99)
==10030==    by 0x11CDEF16: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:68)
==10030==    by 0x11CDEF58: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:69)
==10030==    by 0x11CC9A3C: PMLComponent::~PMLComponent() (PMLComponent.cpp:96)
==10030==    by 0x11CCA5A8: PMLComponent::~PMLComponent() (PMLComponent.cpp:98)
==10030==    by 0x48D9AD6: camitk::Application::close(camitk::Component*) 
(Application.cpp:623)
==10030==    by 0x10FC5B: main (main.cpp:204)
==10030==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==10030==
==10030==
==10030== Process terminating with default action of signal 11 (SIGSEGV)
==10030==  Bad permissions for mapped region at address 0x0
==10030==    at 0x0: ???
==10030==    by 0x11CDE0D5: MultiComponent::deleteAllSubComponents() 
(MultiComponent.cpp:50)
==10030==    by 0x11CDE11E: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:41)
==10030==    by 0x11CDE148: MultiComponent::~MultiComponent() 
(MultiComponent.cpp:45)
==10030==    by 0x11CDEE39: PhysicalModel::clear() (PhysicalModel.cpp:99)
==10030==    by 0x11CDEF16: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:68)
==10030==    by 0x11CDEF58: PhysicalModel::~PhysicalModel() 
(PhysicalModel.cpp:69)
==10030==    by 0x11CC9A3C: PMLComponent::~PMLComponent() (PMLComponent.cpp:96)
==10030==    by 0x11CCA5A8: PMLComponent::~PMLComponent() (PMLComponent.cpp:98)
==10030==    by 0x48D9AD6: camitk::Application::close(camitk::Component*) 
(Application.cpp:623)
==10030==    by 0x10FC5B: main (main.cpp:204)
==10030==
==10030== HEAP SUMMARY:
==10030==     in use at exit: 8,523,333 bytes in 54,797 blocks
==10030==   total heap usage: 714,992 allocs, 660,195 frees, 204,054,986 bytes 
allocated
==10030==
==10030== LEAK SUMMARY:
==10030==    definitely lost: 181,736 bytes in 1,507 blocks
==10030==    indirectly lost: 1,601,472 bytes in 18,778 blocks
==10030==      possibly lost: 38,017 bytes in 488 blocks
==10030==    still reachable: 6,702,108 bytes in 34,024 blocks
==10030==         suppressed: 0 bytes in 0 blocks
==10030== Rerun with --leak-check=full to see details of leaked memory
==10030==
==10030== For counts of detected and suppressed errors, rerun with: -v
==10030== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 2 from 2)
Speicherzugriffsfehler (Speicherabzug geschrieben)






gdb -q --args 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2

directory /home/benutzer/camitk/try1/camitk-4.1.2
set height 0
set width 0
set pagination off
b MultiComponent.cpp:50
y
run
display component
display components
cont



Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d9e900) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
(gdb) display component
1: component = (Component *&) @0x555558287ff0: 0x555557c5ee60
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d9e900) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x555558287ff8: 0x555557c5ffe0
(gdb)
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d98b90) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x555558296a50: 0x5555579d7950
(gdb)
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x5555579d7950) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x55555855c5e0: 0x5555585561e0
(gdb)
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d98b90) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x555558296a58: 0x555557c57660
(gdb)
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d98b90) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x555558296a60: 0x555557c57660
(gdb)
Continuing.

Thread 1 "camitk-testcomp" received signal SIGSEGV, Segmentation fault.
0x0000000000000061 in ?? ()



-> 0x555557c57660 is deleted twice ?









gdb -q --args 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2
Reading symbols from 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents...done.
(gdb) directory /home/benutzer/camitk/try1/camitk-4.1.2
Source directories searched: /home/benutzer/camitk/try1/camitk-4.1.2:$cdir:$cwd
(gdb) set height 0
(gdb) set width 0
(gdb) set pagination off
(gdb) b MultiComponent.cpp:50
No source file named MultiComponent.cpp.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (MultiComponent.cpp:50) pending.
(gdb) run
Starting program: 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
camitk-testcomponents run with arguments:
- component library file: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so"
- input test file: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml"
- level of test: "2"
- output directory: 
"/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2"
Starting the camitk default application...
[New Thread 0x7fffec502700 (LWP 10849)]
[New Thread 0x7fffebbc5700 (LWP 10851)]
[OK]
Loading extension: 
/home/benutzer/camitk/try1/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so...
     Loaded extension: PML Component (<b>New PML COMPONENT!</b>). Managed 
extension:pml
[OK]
Opening component: truthcube.pml...
[New Thread 0x7fffe2854700 (LWP 10854)]
[New Thread 0x7fffe2053700 (LWP 10855)]
[New Thread 0x7fffe1852700 (LWP 10856)]
[New Thread 0x7fffe1051700 (LWP 10857)]
[New Thread 0x7fffe0850700 (LWP 10858)]
[New Thread 0x7fffcbfff700 (LWP 10859)]
[New Thread 0x7fffcb7fe700 (LWP 10860)]
[New Thread 0x7fffcaffd700 (LWP 10861)]
[OK]
Saving component to: truthcube.pml...
[OK]
Closing component: truthcube.pml...

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d9e0a0) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
(gdb) display component
1: component = (Component *&) @0x555558287790: 0x555557c5e600
(gdb) display components
2: components = std::vector of length 2, capacity 2 = {0x555557c5e600, 
0x555557c5f780}
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d9e0a0) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x555558287798: 0x555557c5f780
2: components = std::vector of length 1, capacity 2 = {0x555557c5f780}
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x5555582961f0: 0x5555579d70f0
2: components = std::vector of length 3, capacity 4 = {0x5555579d70f0, 
0x555558698970, 0x555557c56e00}
(gdb) print components->_M_impl._M_finish
$1 = (std::_Vector_base<Component*, std::allocator<Component*> >::pointer) 
0x555558296208
(gdb) print components->_M_impl._M_finish - components->_M_impl._M_start
$2 = 3
(gdb) print &(components->_M_impl._M_finish)
$3 = (std::_Vector_base<Component*, std::allocator<Component*> >::pointer *) 
0x555556d98368
(gdb) print &(components->_M_impl._M_start)
$4 = (std::_Vector_base<Component*, std::allocator<Component*> >::pointer *) 
0x555556d98360
(gdb) watch *0x555556d98368
Hardware watchpoint 2: *0x555556d98368
(gdb) watch *0x555556d98360
Hardware watchpoint 3: *0x555556d98360
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x5555579d70f0) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x55555855bd80: 0x555558555980
2: components = std::vector of length 1, capacity 1 = {0x555558555980}
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Hardware watchpoint 2: *0x555556d98368

Old value = 1479107080
New value = 1479107072
MultiComponent::removeSubComponent (c=0x5555579d70f0, this=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.h:134
134             c->removeParentMultiComponent(this);
2: components = std::vector of length 2, capacity 4 = {0x555558698970, 
0x555557c56e00}
(gdb) bt
#0  MultiComponent::removeSubComponent (c=0x5555579d70f0, this=0x555556d98330) 
at ./modeling/libraries/pml/MultiComponent.h:134
#1  Component::removeFromParents() () at 
./modeling/libraries/pml/Component.cpp:60
#2  0x00007fffeb32c127 in MultiComponent::~MultiComponent (this=0x5555579d70f0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:44
#3  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x5555579d70f0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#4  0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
#5  0x00007fffeb32c11f in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:41
#6  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#7  0x00007fffeb32ce3a in PhysicalModel::clear (this=this@entry=0x555555705ef0) 
at ./modeling/libraries/pml/PhysicalModel.cpp:99
#8  0x00007fffeb32cf17 in PhysicalModel::~PhysicalModel (this=0x555555705ef0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:68
#9  0x00007fffeb32cf59 in PhysicalModel::~PhysicalModel (this=0x555555705ef0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:67
#10 0x00007fffeb317a3d in PMLComponent::~PMLComponent (this=0x555555660a00, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:96
#11 0x00007fffeb3185a9 in PMLComponent::~PMLComponent (this=0x555555660a00, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:93
#12 0x00007ffff7ec4ad7 in camitk::Application::close(camitk::Component*) () at 
./sdk/libraries/core/application/Application.cpp:623
#13 0x000055555555bc5c in main () at 
./sdk/applications/testcomponents/main.cpp:204
#14 0x00007ffff6e99b17 in __libc_start_main (main=0x55555555b080 <main>, argc=9, 
argv=0x7fffffffe398, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized 
out>, stack_end=0x7fffffffe388) at ../csu/libc-start.c:310
#15 0x000055555555c35a in _start () at 
./sdk/applications/testcomponents/main.cpp:136
(gdb) finish
Run till exit from #0  MultiComponent::removeSubComponent (c=0x5555579d70f0, 
this=0x555556d98330) at ./modeling/libraries/pml/MultiComponent.h:134
Component::removeFromParents() () at ./modeling/libraries/pml/Component.cpp:51
51          std::vector <MultiComponent*> parentMultiComponentsCopy;
2: components = <error: There is no member or method named components.>
(gdb)
Run till exit from #0  Component::removeFromParents() () at 
./modeling/libraries/pml/Component.cpp:51
MultiComponent::~MultiComponent (this=0x5555579d70f0, __in_chrg=<optimized 
out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
38      MultiComponent::~MultiComponent() {
2: components = std::vector of length 0, capacity 1
(gdb)
Run till exit from #0  MultiComponent::~MultiComponent (this=0x5555579d70f0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x5555579d70f0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
38      MultiComponent::~MultiComponent() {
2: components = std::vector of length 0, capacity 1
(gdb)
Run till exit from #0  0x00007fffeb32c149 in MultiComponent::~MultiComponent 
(this=0x5555579d70f0, __in_chrg=<optimized out>) at 
./modeling/libraries/pml/MultiComponent.cpp:38
0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x5555582961f0: 0x555558698970
2: components = std::vector of length 2, capacity 4 = {0x555558698970, 
0x555557c56e00}
(gdb) print components->_M_impl._M_finish - components->_M_impl._M_start
$5 = 2
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x5555582961f8: 0x555557c56e00
2: components = std::vector of length 2, capacity 4 = {0x555558698970, 
0x555557c56e00}
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Hardware watchpoint 2: *0x555556d98368

Old value = 1479107072
New value = 1479107064
MultiComponent::removeSubComponent (c=0x555557c56e00, this=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.h:134
134             c->removeParentMultiComponent(this);
2: components = std::vector of length 1, capacity 4 = {0x555558698970}
(gdb) finish
Run till exit from #0  MultiComponent::removeSubComponent (c=0x555557c56e00, 
this=0x555556d98330) at ./modeling/libraries/pml/MultiComponent.h:134
Component::removeFromParents() () at ./modeling/libraries/pml/Component.cpp:51
51          std::vector <MultiComponent*> parentMultiComponentsCopy;
2: components = <error: There is no member or method named components.>
(gdb)
Run till exit from #0  Component::removeFromParents() () at 
./modeling/libraries/pml/Component.cpp:51
StructuralComponent::~StructuralComponent (this=0x555557c56e00, 
__in_chrg=<optimized out>) at 
./modeling/libraries/pml/StructuralComponent.cpp:73
73      StructuralComponent::~StructuralComponent() {
2: components = <error: There is no member or method named components.>
(gdb)
Run till exit from #0  StructuralComponent::~StructuralComponent 
(this=0x555557c56e00, __in_chrg=<optimized out>) at 
./modeling/libraries/pml/StructuralComponent.cpp:73
0x00007fffeb3340a9 in StructuralComponent::~StructuralComponent (this=0x555557c56e00, 
__in_chrg=<optimized out>) at 
./modeling/libraries/pml/StructuralComponent.cpp:73
73      StructuralComponent::~StructuralComponent() {
2: components = <error: There is no member or method named components.>
(gdb)
Run till exit from #0  0x00007fffeb3340a9 in 
StructuralComponent::~StructuralComponent (this=0x555557c56e00, 
__in_chrg=<optimized out>) at 
./modeling/libraries/pml/StructuralComponent.cpp:73
0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x5555582961f8: 0x555557c56e00
2: components = std::vector of length 1, capacity 4 = {0x555558698970}
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" hit Breakpoint 1, 
MultiComponent::deleteAllSubComponents (this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
1: component = (Component *&) @0x555558296200: 0x555557c56e00
2: components = std::vector of length 1, capacity 4 = {0x555558698970}
(gdb) cont
Continuing.

Thread 1 "camitk-testcomp" received signal SIGSEGV, Segmentation fault.
0x0000000000000061 in ?? ()
2: components = <error: current stack frame does not contain a variable named 
`this'>
(gdb) bt
#0  0x0000000000000061 in ?? ()
#1  0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
#2  0x00007fffeb32c11f in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:41
#3  0x00007fffeb32c149 in MultiComponent::~MultiComponent (this=0x555556d98330, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/MultiComponent.cpp:38
#4  0x00007fffeb32ce3a in PhysicalModel::clear (this=this@entry=0x555555705ef0) 
at ./modeling/libraries/pml/PhysicalModel.cpp:99
#5  0x00007fffeb32cf17 in PhysicalModel::~PhysicalModel (this=0x555555705ef0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:68
#6  0x00007fffeb32cf59 in PhysicalModel::~PhysicalModel (this=0x555555705ef0, 
__in_chrg=<optimized out>) at ./modeling/libraries/pml/PhysicalModel.cpp:67
#7  0x00007fffeb317a3d in PMLComponent::~PMLComponent (this=0x555555660a00, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:96
#8  0x00007fffeb3185a9 in PMLComponent::~PMLComponent (this=0x555555660a00, 
__in_chrg=<optimized out>) at 
./modeling/components/pmlcomponent/PMLComponent.cpp:93
#9  0x00007ffff7ec4ad7 in camitk::Application::close(camitk::Component*) () at 
./sdk/libraries/core/application/Application.cpp:623
#10 0x000055555555bc5c in main () at 
./sdk/applications/testcomponents/main.cpp:204
#11 0x00007ffff6e99b17 in __libc_start_main (main=0x55555555b080 <main>, argc=9, 
argv=0x7fffffffe398, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized 
out>, stack_end=0x7fffffffe388) at ../csu/libc-start.c:310
#12 0x000055555555c35a in _start () at 
./sdk/applications/testcomponents/main.cpp:136
(gdb) up
#1  0x00007fffeb32c0d6 in MultiComponent::deleteAllSubComponents 
(this=this@entry=0x555556d98330) at 
./modeling/libraries/pml/MultiComponent.cpp:50
50              delete component;
(gdb) list -
45      }
46
47      // ------------------ deleteAllSubComponents ---------------------
48      void MultiComponent::deleteAllSubComponents() {
49          for (auto& component : components) {
50              delete component;
51          }
52          components.clear();
53      }
54
(gdb)







(gdb) list modeling/libraries/pml/MultiComponent.h:134
129     }
130     inline void MultiComponent::removeSubComponent(Component* c) {
131         auto it = std::find(components.begin(), components.end(), c);
132         if (it != components.end()) {
133             components.erase(it);
134             c->removeParentMultiComponent(this);
135         }
136     }









benutzer@debian:~/camitk/try2/camitk-4.1.2$ git init
Leeres Git-Repository in /home/benutzer/camitk/try2/camitk-4.1.2/.git/ 
initialisiert
benutzer@debian:~/camitk/try2/camitk-4.1.2$ git add .
benutzer@debian:~/camitk/try2/camitk-4.1.2$ git config user.name "Bernhard 
Übelacker"
benutzer@debian:~/camitk/try2/camitk-4.1.2$ git config user.email 
"bernha...@mailbox.org"
benutzer@debian:~/camitk/try2/camitk-4.1.2$ git commit -m "Initial commit"

mc -e modeling/libraries/pml/MultiComponent.cpp



Xvfb
export DISPLAY=:0
export LD_LIBRARY_PATH=/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/lib

valgrind 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2


gdb -q --args 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/bin/camitk-testcomponents 
-i 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/share/camitk-4.1/testdata/truthcube.pml
 -c 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/lib/camitk-4.1/components/libpmlcomponent.so
 -l 2 -o 
/home/benutzer/camitk/try2/camitk-4.1.2/camitk-build/Testing/Temporary/component-pmlcomponent-level3-2

directory /home/benutzer/camitk/try2/camitk-4.1.2
set height 0
set width 0
set pagination off
b MultiComponent.cpp:50
y
run
display component
display components
cont






https://en.cppreference.com/w/cpp/language/range-for
https://en.cppreference.com/w/cpp/container/vector/erase
     "Invalidates iterators and references at or after the point of the erase, 
including the end() iterator. "

https://stackoverflow.com/questions/10360461/removing-item-from-vector-while-in-c11-range-for-loop
_______________________________________________
Debian-med-packaging mailing list
debian-med-packag...@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-packaging


--
Emmanuel Promayon
Professeur Univ. Grenoble Alpes / Polytech Grenoble
Laboratoire TIMC-IMAG / équipe GMCAO
Responsable du département Technologies de l'Information pour la Santé

Reply via email to