Acquire isn't thread safe

Bug #878689 reported by Sebastian Heinlein on 2011-10-20
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
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

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  Edit
Everyone can see this information.

Other bug subscribers