Bug#929336: unblock: evolvotron/0.7.1-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock evolvotron/0.7.1-3. It fixes frequent segfaults at
startup, namely #929034.
Full source debdiff:
diff -Nru evolvotron-0.7.1/debian/changelog evolvotron-0.7.1/debian/changelog
--- evolvotron-0.7.1/debian/changelog 2018-01-02 08:32:53.000000000 +0100
+++ evolvotron-0.7.1/debian/changelog 2019-05-21 01:40:39.000000000 +0200
@@ -1,3 +1,15 @@
+evolvotron (0.7.1-3) unstable; urgency=high
+
+ [ Ondřej Nový ]
+ * debian/watch: Use HTTPS.
+
+ [ Axel Beckert ]
+ * Apply patch to fix erasing while iterating. Fixes frequent segfaults
+ on startup. (Closes: #929034) Thanks to Saverio Brancaccio for
+ reporting the issue and thanks to Jan Nordholz for the patch!
+
+ -- Axel Beckert <abe@debian.org> Tue, 21 May 2019 01:40:39 +0200
+
evolvotron (0.7.1-2) unstable; urgency=medium
* Add lintian override for bogus tech-ctte decision imposed onto policy,
diff -Nru evolvotron-0.7.1/debian/patches/fix_erasing_while_iterating.patch evolvotron-0.7.1/debian/patches/fix_erasing_while_iterating.patch
--- evolvotron-0.7.1/debian/patches/fix_erasing_while_iterating.patch 1970-01-01 01:00:00.000000000 +0100
+++ evolvotron-0.7.1/debian/patches/fix_erasing_while_iterating.patch 2019-05-21 01:39:42.000000000 +0200
@@ -0,0 +1,66 @@
+Description: Fix erasing while iterating
+Author: Jan Nordholz <j.nordholz@tu-berlin.de>
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929034#41
+Bug-Debian: https://bugs.debian.org/929034
+Forwarded: yes
+
+Index: evolvotron-0.7.1/libevolvotron/mutatable_image_computer_farm.cpp
+===================================================================
+--- evolvotron-0.7.1.orig/libevolvotron/mutatable_image_computer_farm.cpp
++++ evolvotron-0.7.1/libevolvotron/mutatable_image_computer_farm.cpp
+@@ -72,19 +72,20 @@ void MutatableImageComputerFarm::fasttra
+ {
+ QMutexLocker lock(&_mutex);
+
+- // \todo: Inefficient starting search again each time. Some problem with erase otherwise though, but might have been task abort mem leak.
+- TodoQueue::iterator it;
+- while (
+- (
+- it=std::find_if(_todo.begin(),_todo.end(),predicate_aborted)
+- )
+- !=
+- _todo.end()
+- )
+- {
+- _done[(*it)->display()].insert(*it);
+- _todo.erase(it);
+- }
++ TodoQueue::iterator it = _todo.begin();
++
++ while (it != _todo.end())
++ {
++ if ((*it)->aborted())
++ {
++ _done[(*it)->display()].insert(*it);
++ it = _todo.erase(it);
++ }
++ else
++ {
++ it++;
++ }
++ }
+ }
+
+ void MutatableImageComputerFarm::push_todo(const boost::shared_ptr<MutatableImageComputerTask>& task)
+@@ -214,7 +215,9 @@ void MutatableImageComputerFarm::abort_f
+ if ((*it)->display()==disp)
+ {
+ (*it)->abort();
+- _todo.erase(it);
++ it = _todo.erase(it);
++ if (it == _todo.end())
++ break;
+ }
+ }
+
+@@ -234,7 +237,9 @@ void MutatableImageComputerFarm::abort_f
+ if ((*it1)->display()==disp)
+ {
+ (*it1)->abort();
+- q.erase(it1);
++ it1 = q.erase(it1);
++ if (it1 == q.end())
++ break;
+ }
+ }
+ }
diff -Nru evolvotron-0.7.1/debian/patches/series evolvotron-0.7.1/debian/patches/series
--- evolvotron-0.7.1/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ evolvotron-0.7.1/debian/patches/series 2019-05-21 01:20:58.000000000 +0200
@@ -0,0 +1 @@
+fix_erasing_while_iterating.patch
diff -Nru evolvotron-0.7.1/debian/watch evolvotron-0.7.1/debian/watch
--- evolvotron-0.7.1/debian/watch 2016-05-18 23:16:11.000000000 +0200
+++ evolvotron-0.7.1/debian/watch 2019-05-17 00:24:11.000000000 +0200
@@ -1,2 +1,2 @@
version=3
-http://sf.net/evolvotron/evolvotron-(.*)\.tar\.gz
+https://sf.net/evolvotron/evolvotron-(.*)\.tar\.gz
It has been built successfully on all release architectures as well on
all other architectures except kfreebsd-* where the build is still
pending: https://buildd.debian.org/status/package.php?p=evolvotron
So please:
unblock evolvotron/0.7.1-3
-- System Information:
Debian Release: 10.0
APT prefers unstable
APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled
Reply to: