Your message dated Tue, 03 Nov 2015 23:34:22 +0000
with message-id <e1ztl5q-00009l...@franck.debian.org>
and subject line Bug#803985: fixed in mapnik 3.0.9~rc1+ds-1~exp1
has caused the Debian Bug report #803985,
regarding mapnik: Often get free(): invalid pointer
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 ow...@bugs.debian.org
immediately.)


-- 
803985: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803985
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: mapnik
Severity: important
Tags: upstream patch
Version: 3.0.8+ds-1

Dear Maintainer,


Quite often mapnik crashes. As for example described here:
 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799473

The upstream issue is here:
 https://github.com/mapnik/mapnik/issues/3090

and it has already been fixed upstream:
 
https://github.com/mapnik/mapnik/commit/b99a20378dfcf8b94cbe228ef8a3775516dbb065


I've confirmed that after this has been fixed, it's once again possible to 
render
tiles with tools such as tilelite and the openstreetmap-carto style sheet.


A patch is below:

--- mapnik-3.0.8+ds.orig/include/mapnik/util/variant.hpp
+++ mapnik-3.0.8+ds/include/mapnik/util/variant.hpp
@@ -240,6 +240,19 @@ struct variant_helper<T, Types...>
             variant_helper<Types...>::copy(old_id, old_value, new_value);
         }
     }
+    VARIANT_INLINE static void direct_swap(const std::size_t id, void * lhs, 
void * rhs)
+    {
+        using std::swap; //enable ADL
+        if (id == sizeof...(Types))
+        {
+            // both lhs and rhs hold T
+            swap(*reinterpret_cast<T*>(lhs), *reinterpret_cast<T*>(rhs));
+        }
+        else
+        {
+            variant_helper<Types...>::direct_swap(id, lhs, rhs);
+        }
+    }
 };
 
 template<> struct variant_helper<>
@@ -247,6 +260,7 @@ template<> struct variant_helper<>
     VARIANT_INLINE static void destroy(const std::size_t, void *) {}
     VARIANT_INLINE static void move(const std::size_t, void *, void *) {}
     VARIANT_INLINE static void copy(const std::size_t, const void *, void *) {}
+    VARIANT_INLINE static void direct_swap(const std::size_t, void *, void *) 
{}
 };
 
 namespace detail {
@@ -274,7 +288,7 @@ struct unwrapper<recursive_wrapper<T>>
     {
         return obj.get();
     }
-    
+
     auto operator() (recursive_wrapper<T> & obj) const
         -> typename recursive_wrapper<T>::type &
     {
@@ -595,16 +609,24 @@ public:
         helper_type::move(old.type_index, &old.data, &data);
     }
 
-    friend void swap(variant<Types...> & first, variant<Types...> & second)
+    void assign(variant<Types...> & rhs)
     {
-        using std::swap; //enable ADL
-        swap(first.type_index, second.type_index);
-        swap(first.data, second.data);
+        if (type_index == rhs.type_index)
+        {
+            helper_type::direct_swap(rhs.type_index, &rhs.data, &data);
+        }
+        else
+        {
+            helper_type::destroy(type_index, &data);
+            type_index = detail::invalid_value;
+            helper_type::copy(rhs.type_index, &rhs.data, &data);
+            type_index = rhs.type_index;
+        }
     }
 
     VARIANT_INLINE variant<Types...>& operator=(variant<Types...> other)
     {
-        swap(*this, other);
+        assign(other);
         return *this;
     }
 
@@ -614,7 +636,7 @@ public:
     VARIANT_INLINE variant<Types...>& operator=(T && rhs) noexcept
     {
         variant<Types...> temp(std::forward<T>(rhs));
-        swap(*this, temp);
+        assign(temp);
         return *this;
     }
 
@@ -623,7 +645,7 @@ public:
     VARIANT_INLINE variant<Types...>& operator=(T const& rhs)
     {
         variant<Types...> temp(rhs);
-        swap(*this, temp);
+        assign(temp);
         return *this;
     }
 

Best regards,
Ruben
 

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel

Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: mapnik
Source-Version: 3.0.9~rc1+ds-1~exp1

We believe that the bug you reported is fixed in the latest version of
mapnik, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 803...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Bas Couwenberg <sebas...@debian.org> (supplier of updated mapnik package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 03 Nov 2015 23:30:15 +0100
Source: mapnik
Binary: libmapnik3.0 libmapnik-dev mapnik-utils mapnik-doc
Architecture: source amd64 all
Version: 3.0.9~rc1+ds-1~exp1
Distribution: experimental
Urgency: medium
Maintainer: Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org>
Changed-By: Bas Couwenberg <sebas...@debian.org>
Description:
 libmapnik-dev - C++ toolkit for developing GIS applications (devel)
 libmapnik3.0 - C++ toolkit for developing GIS applications (libraries)
 mapnik-doc - C++ toolkit for developing GIS applications (doc)
 mapnik-utils - C++ toolkit for developing GIS applications (utilities)
Closes: 803985
Changes:
 mapnik (3.0.9~rc1+ds-1~exp1) experimental; urgency=medium
 .
   * New upstream release candidate.
     (closes: #803985)
Checksums-Sha1:
 8404d7f9b391515492bc45feec335335feec3370 3092 mapnik_3.0.9~rc1+ds-1~exp1.dsc
 01ffef5258bf68087ad07e1487affb310aab8e8b 4489258 
mapnik_3.0.9~rc1+ds.orig.tar.gz
 497742d1416e789c36d085351172538dbaca44a6 16008 
mapnik_3.0.9~rc1+ds-1~exp1.debian.tar.xz
 e9ac6c3926338f10cb6a5522a608add5c8697470 706404 
libmapnik-dev_3.0.9~rc1+ds-1~exp1_amd64.deb
 9d90572ad91dd745555b80d3d6855ac8d9198b9e 3108588 
libmapnik3.0_3.0.9~rc1+ds-1~exp1_amd64.deb
 ada58831a39c1aa06716efbd892497050fec7b38 2135208 
mapnik-doc_3.0.9~rc1+ds-1~exp1_all.deb
 400d1e0315257dcff162105ea4617db6f1c11df8 191410 
mapnik-utils_3.0.9~rc1+ds-1~exp1_amd64.deb
Checksums-Sha256:
 0ec12f62efb33ead02ac277182a9ceb0f3f1c5c9a9a3e03ebc63f85ea98d3ddb 3092 
mapnik_3.0.9~rc1+ds-1~exp1.dsc
 d8df24e568e9554e2143b650142e1cb4ebac0054858a0efbc5c7887b330e9835 4489258 
mapnik_3.0.9~rc1+ds.orig.tar.gz
 c48398a86b74779c393c6d663fcc2dfb53562a565a21cd0c7748eef7c4ff6285 16008 
mapnik_3.0.9~rc1+ds-1~exp1.debian.tar.xz
 d1d0fd80f9e685d12d3e9c4a56662fd75cb58cb3f7985443095f6b10626abf3d 706404 
libmapnik-dev_3.0.9~rc1+ds-1~exp1_amd64.deb
 f46cec05217a5b05a9940a43774b6529a247549d6f0137bf20a16ef9ef0e6efd 3108588 
libmapnik3.0_3.0.9~rc1+ds-1~exp1_amd64.deb
 b51d5a2d55ddc31b89826eedb85109a2934f02e1f1894d7c0731907dd2e0ce77 2135208 
mapnik-doc_3.0.9~rc1+ds-1~exp1_all.deb
 6feab09ad7883b5d6b9e2985617272c2e092ffb483d8ea74faf07c334605a4ac 191410 
mapnik-utils_3.0.9~rc1+ds-1~exp1_amd64.deb
Files:
 7c5f7f43601207bd6e77cbfdb480c49e 3092 libs optional 
mapnik_3.0.9~rc1+ds-1~exp1.dsc
 d1abb59a37c2059bba048d5430a06b99 4489258 libs optional 
mapnik_3.0.9~rc1+ds.orig.tar.gz
 7ab3b7dccd07fa25859d099c946f98d0 16008 libs optional 
mapnik_3.0.9~rc1+ds-1~exp1.debian.tar.xz
 7e5938986a210cfa7e524a2b42324d1e 706404 libdevel optional 
libmapnik-dev_3.0.9~rc1+ds-1~exp1_amd64.deb
 6478c51ba009cad3ff91b5395cdaf451 3108588 libs optional 
libmapnik3.0_3.0.9~rc1+ds-1~exp1_amd64.deb
 b782052fa08d093a90c536f33329a342 2135208 doc optional 
mapnik-doc_3.0.9~rc1+ds-1~exp1_all.deb
 ebe4516c8572d9977101504e710b6333 191410 utils optional 
mapnik-utils_3.0.9~rc1+ds-1~exp1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJWOT2xAAoJEGdQ8QrojUrxlo0QAKfbTf7qwT6A3aXAldsnGEqA
UNIjEMW0yJcejMQ3j1PVni58t8avQGEo0r82epOTdiwN2zJg1rF3V8eWcMnc7kea
5vPBtgJA3fWR91vny/acDf5Bj2mN5TRx9KK/ouBVHqK2nKA11/x/uAvpC8g37dQH
qHe0sqWy2tMxjM4RzKRkKDkx6Xzgx2owuO7ubvpIn0B1BIcjHjByuNE4mLC09QqM
BE0a00mpKb5Jzdu/xRqkgazK9ns6Dy2hCxgX7UoHvYXmS7n+Y7r81liP5ngtAhU4
i9Cdb1XAMsWEsjPbWV/LknatmUsVWXE7HdjiKg5pl5H9RGFapolo4zeSEP0BySsB
K+kbYwjNBILRRLot56c+/XmeVGcRWYmhv12rXONZFZseXsIRGJRCuwgIAbKPFfKm
+vJ3Dw/nlqkZI5p5E7GdDV6bWJAg+ChNmsQISW5YuIOlZN5OFzp48gD51Broqkht
Js+upSfm5iuRIr7j2NkfJFvd25049HlW6bbGdNKBgL7ZyQmyQAqSNqysCB9boZHi
LQMMOx9Sn6oijfz8bNNmDPdQKYjYd7Pu6SRDCwPpOUfA+LTDefbILpUrp0mkbCQF
Tif8jXnU8XgqGxPlyzQbdPNcQ6osnEc+o84e2W3fiijCw9d9TBhFyZjSPtm5uXjs
OAJEskjbJ+gAXVZQVmnC
=ChcJ
-----END PGP SIGNATURE-----

--- End Message ---
_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to