Acquire isn't thread safe

Bug #878689 reported by Sebastian Heinlein
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
New
Undecided
Unassigned

Bug Description

We would like to move downloading in aptdaemon to a separate thread but it seems that apt isn't very thread safe. Also main thread doesn't do any changes we see a lot of string operation crashes in pkgAcqArchive::Done(std::string, unsigned long long, std::string, pkgAcquire::MethodConfig*) ()

Related branches

Revision history for this message
Sebastian Heinlein (glatzor) wrote :

#0 0x00007ffff69b33a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff69b6b0b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff217cd7d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff217af26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff217af53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff217b04e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff217b52d in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff2164059 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007ffff2164dcb in std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9 0x00007ffff216552c in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007ffff2455c5d in pkgAcqArchive::Done(std::string, unsigned long long, std::string, pkgAcquire::MethodConfig*) ()
   from /usr/lib/libapt-pkg.so.4.11
#11 0x00007ffff243f099 in pkgAcquire::Worker::RunMessages() () from /usr/lib/libapt-pkg.so.4.11
#12 0x00007ffff2440a07 in pkgAcquire::Worker::InFdReady() () from /usr/lib/libapt-pkg.so.4.11
#13 0x00007ffff243805b in pkgAcquire::RunFds(fd_set*, fd_set*) () from /usr/lib/libapt-pkg.so.4.11
#14 0x00007ffff2439e30 in pkgAcquire::Run(int) () from /usr/lib/libapt-pkg.so.4.11
#15 0x00007ffff26fd1ce in ?? () from /usr/lib/python2.7/dist-packages/apt_pkg.so
#16 0x00000000004b6569 in PyEval_EvalFrameEx ()
#17 0x00000000004b6d77 in PyEval_EvalFrameEx ()
#18 0x00000000004bcd2d in PyEval_EvalCodeEx ()
#19 0x0000000000448edf in ?? ()
#20 0x000000000041ad2a in PyObject_Call ()
#21 0x00000000004b84b6 in PyEval_EvalFrameEx ()
#22 0x00000000004bcd2d in PyEval_EvalCodeEx ()
#23 0x00000000004b6a5b in PyEval_EvalFrameEx ()
#24 0x00000000004bcd2d in PyEval_EvalCodeEx ()
#25 0x0000000000449098 in ?? ()
#26 0x000000000041ad2a in PyObject_Call ()
#27 0x00000000004b84b6 in PyEval_EvalFrameEx ()
#28 0x00000000004b6d77 in PyEval_EvalFrameEx ()

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.