{"action":"created","issue":{"url":"https://api.github.com/repos/mapnik/mapnik/issues/3090","labels_url":"https://api.github.com/repos/mapnik/mapnik/issues/3090/labels{/name}","comments_url":"https://api.github.com/repos/mapnik/mapnik/issues/3090/comments","events_url":"https://api.github.com/repos/mapnik/mapnik/issues/3090/events","html_url":"https://github.com/mapnik/mapnik/issues/3090","id":108914064,"number":3090,"title":"Crash on Debian testing (free(): invalid pointer)","user":{"login":"vmx","id":42839,"avatar_url":"https://avatars.githubusercontent.com/u/42839?v=3","gravatar_id":"","url":"https://api.github.com/users/vmx","html_url":"https://github.com/vmx","followers_url":"https://api.github.com/users/vmx/followers","following_url":"https://api.github.com/users/vmx/following{/other_user}","gists_url":"https://api.github.com/users/vmx/gists{/gist_id}","starred_url":"https://api.github.com/users/vmx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmx/subscriptions","organizations_url":"https://api.github.com/users/vmx/orgs","repos_url":"https://api.github.com/users/vmx/repos","events_url":"https://api.github.com/users/vmx/events{/privacy}","received_events_url":"https://api.github.com/users/vmx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-29T17:05:26Z","updated_at":"2015-09-30T15:10:26Z","closed_at":null,"body":"On Debian testing Mapnik (git checkout from yesterday) crashes also on unit tests. Here's an example:\r\n```\r\n$ LD_LIBRARY_PATH=src ./test/visual/run\r\n*** Error in `./test/visual/run': free(): invalid pointer: 0x00007ffc396f8348 ***\r\nzsh: abort (core dumped)  LD_LIBRARY_PATH=src ./test/visual/run\r\n$ gdb ./test/visual/run core\r\nGNU gdb (Debian 7.7.1+dfsg-5) 7.7.1\r\nCopyright (C) 2014 Free Software Foundation, Inc.\r\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\r\nThis is free software: you are free to change and redistribute it.\r\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\r\nand \"show warranty\" for details.\r\nThis GDB was configured as \"x86_64-linux-gnu\".\r\nType \"show configuration\" for configuration details.\r\nFor bug reporting instructions, please see:\r\n<http://www.gnu.org/software/gdb/bugs/>.\r\nFind the GDB manual and other documentation resources online at:\r\n<http://www.gnu.org/software/gdb/documentation/>.\r\nFor help, type \"help\".\r\nType \"apropos word\" to search for commands related to \"word\"...\r\nReading symbols from ./test/visual/run...(no debugging symbols found)...done.\r\n[New LWP 9832]\r\n[New LWP 9833]\r\n[New LWP 9834]\r\n[New LWP 9835]\r\n[Thread debugging using libthread_db enabled]\r\nUsing host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\r\nCore was generated by `./test/visual/run'.\r\nProgram terminated with signal SIGABRT, Aborted.\r\n#0  0x00007f8d92460107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56\r\n56\t../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.\r\n(gdb) thread apply all bt\r\n\r\nThread 4 (Thread 0x7f8d7aafd700 (LWP 9835)):\r\n#0  0x00007f8d924fa3c7 in sched_yield () at ../sysdeps/unix/syscall-template.S:81\r\n#1  0x00007f8d7dddfc85 in ?? () from /usr/lib/libopenblas.so.0\r\n#2  0x00007f8d927dc0a4 in start_thread (arg=0x7f8d7aafd700) at pthread_create.c:309\r\n#3  0x00007f8d9251107d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111\r\n\r\nThread 3 (Thread 0x7f8d7b2fe700 (LWP 9834)):\r\n#0  0x00007f8d924fa3c7 in sched_yield () at ../sysdeps/unix/syscall-template.S:81\r\n#1  0x00007f8d7dddfc85 in ?? () from /usr/lib/libopenblas.so.0\r\n#2  0x00007f8d927dc0a4 in start_thread (arg=0x7f8d7b2fe700) at pthread_create.c:309\r\n#3  0x00007f8d9251107d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111\r\n\r\nThread 2 (Thread 0x7f8d7baff700 (LWP 9833)):\r\n#0  0x00007f8d924fa3c7 in sched_yield () at ../sysdeps/unix/syscall-template.S:81\r\n#1  0x00007f8d7dddfc85 in ?? () from /usr/lib/libopenblas.so.0\r\n#2  0x00007f8d927dc0a4 in start_thread (arg=0x7f8d7baff700) at pthread_create.c:309\r\n#3  0x00007f8d9251107d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111\r\n\r\nThread 1 (Thread 0x7f8d972358c0 (LWP 9832)):\r\n#0  0x00007f8d92460107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56\r\n#1  0x00007f8d924614e8 in __GI_abort () at abort.c:89\r\n#2  0x00007f8d9249e214 in __libc_message (do_abort=do_abort@entry=1, \r\n    fmt=fmt@entry=0x7f8d92591000 \"*** Error in `%s': %s: 0x%s ***\\n\") at ../sysdeps/posix/libc_fatal.c:175\r\n#3  0x00007f8d924a39ee in malloc_printerr (action=1, str=0x7f8d9258d0be \"free(): invalid pointer\", \r\n    ptr=<optimized out>) at malloc.c:4996\r\n#4  0x00007f8d924a46f6 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840\r\n#5  0x00007f8d9622241c in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapnik::value_holder>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapnik::value_holder> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapnik::value_holder> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapnik::value_holder> >*) ()\r\n   from src/libmapnik.so.3.1\r\n#6  0x00007f8d96229e5d in mapnik::map_parser::parse_layer(mapnik::Map&, mapnik::xml_node const&) ()\r\n   from src/libmapnik.so.3.1\r\n#7  0x00007f8d96232475 in mapnik::map_parser::parse_map_include(mapnik::Map&, mapnik::xml_node const&) ()\r\n   from src/libmapnik.so.3.1\r\n#8  0x00007f8d9623396e in mapnik::map_parser::parse_map(mapnik::Map&, mapnik::xml_node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from src/libmapnik.so.3.1\r\n#9  0x00007f8d96235259 in mapnik::load_map(mapnik::Map&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) () from src/libmapnik.so.3.1\r\n#10 0x00000000004144e5 in visual_tests::runner::test_one(boost::filesystem::path const&, mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report>&, std::atomic<unsigned long>&) const ()\r\n#11 0x0000000000415074 in visual_tests::runner::test_range(__gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, __gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, std::reference_wrapper<mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report> >, std::reference_wrapper<std::atomic<unsigned long> >) const ()\r\n#12 0x0000000000416075 in std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<std::vector<visual_tests::result, std::allocator<visual_tests::result> > >, std::__future_base::_Result_base::_Deleter>, std::_Bind_simple<std::_Mem_fn<std::vector<visual_tests::result, std::allocator<visual_tests::result> > (visual_tests::runner::*)(__gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, __gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, std::reference_wrapper<mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report> >, std::reference_wrapper<std::atomic<unsigned long> >) const> (visual_tests::runner const*, __gnu_cxx::__normal_iterator<boost::filesys---Type <return> to continue, or q <return> to quit---\r\ntem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, __gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, std::reference_wrapper<mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report> >, std::reference_wrapper<std::atomic<unsigned long> >)>, std::vector<visual_tests::result, std::allocator<visual_tests::result> > > >::_M_invoke(std::_Any_data const&) ()\r\n#13 0x0000000000415bb9 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) ()\r\n#14 0x00007f8d927e1450 in pthread_once () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:103\r\n#15 0x0000000000415f74 in std::__future_base::_Deferred_state<std::_Bind_simple<std::_Mem_fn<std::vector<visual_tests::result, std::allocator<visual_tests::result> > (visual_tests::runner::*)(__gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, __gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, std::reference_wrapper<mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report> >, std::reference_wrapper<std::atomic<unsigned long> >) const> (visual_tests::runner const*, __gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, __gnu_cxx::__normal_iterator<boost::filesystem::path const*, std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > >, std::reference_wrapper<mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report> >, std::reference_wrapper<std::atomic<unsigned long> >)>, std::vector<visual_tests::result, std::allocator<visual_tests::result> > >::_M_complete_async() ()\r\n#16 0x0000000000413436 in visual_tests::runner::test_parallel(std::vector<boost::filesystem::path, std::allocator<boost::filesystem::path> > const&, mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report>&, unsigned long) const ()\r\n#17 0x0000000000413d27 in visual_tests::runner::test_all(mapnik::util::variant<visual_tests::console_report, visual_tests::console_short_report>&) const ()\r\n#18 0x000000000040f206 in main ()\r\n```"},"comment":{"url":"https://api.github.com/repos/mapnik/mapnik/issues/comments/144441307","html_url":"https://github.com/mapnik/mapnik/issues/3090#issuecomment-144441307","issue_url":"https://api.github.com/repos/mapnik/mapnik/issues/3090","id":144441307,"user":{"login":"vmx","id":42839,"avatar_url":"https://avatars.githubusercontent.com/u/42839?v=3","gravatar_id":"","url":"https://api.github.com/users/vmx","html_url":"https://github.com/vmx","followers_url":"https://api.github.com/users/vmx/followers","following_url":"https://api.github.com/users/vmx/following{/other_user}","gists_url":"https://api.github.com/users/vmx/gists{/gist_id}","starred_url":"https://api.github.com/users/vmx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmx/subscriptions","organizations_url":"https://api.github.com/users/vmx/orgs","repos_url":"https://api.github.com/users/vmx/repos","events_url":"https://api.github.com/users/vmx/events{/privacy}","received_events_url":"https://api.github.com/users/vmx/received_events","type":"User","site_admin":false},"created_at":"2015-09-30T15:10:26Z","updated_at":"2015-09-30T15:10:26Z","body":"I've tried to compile it with `./configure CUSTOM_CFLAGS=\"-D_GLIBCXX_USE_CXX11_ABI=0\"` but I still get the same failures with `make test`."}}