[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#929336: marked as done (unblock: evolvotron/0.7.1-3)



Your message dated Thu, 23 May 2019 05:57:00 +0000
with message-id <8fd7408f-cd7a-a9c9-d0cc-acd4d782bbed@thykier.net>
and subject line Re: Bug#929336: unblock: evolvotron/0.7.1-3
has caused the Debian Bug report #929336,
regarding unblock: evolvotron/0.7.1-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
929336: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929336
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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

--- End Message ---
--- Begin Message ---
Axel Beckert:
> 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:
> 
> [...]
> 
> So please:
> 
> unblock evolvotron/0.7.1-3
> 
> [...]
> 

Unblocked, thanks.
~Niels

--- End Message ---

Reply to: