Hi,

as noted above, my use for this fix is quodlibet not segfaulting
anymore as describe in bug 970687. So I got the latest libproxy
source package (0.4.15-15) and built it, and then installed both
the bianry package and the debug symbols.

Quodlibet still dies, even with the new libproxy, and still *in*
libproxy, as indicated by the attached gdb backtrace.

Best,
Tobias
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 0, 140736917905544, 1911038256753492992, 
140737119416064, 140737264021063, 0, 0, 140736917905568, 0, 140736917907528, 0, 
18446744073709551608, 7, 140736918138176, 140736918138874}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007ffff7c50537 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, 
sa_mask = {__val = {140737264047564, 0, 0, 2, 9223372036854775822, 0 <repeats 
11 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff5231301 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff523c0cf in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff523c220 in __gxx_personality_v0 () at 
/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff2a0fe81 in __libunwind_Unwind_Resume () at 
/lib/x86_64-linux-gnu/libunwind.so.8
#6  0x00007fffde032fd5 in 
__gnu_cxx::new_allocator<libproxy::url>::~new_allocator() (this=<optimized 
out>, __in_chrg=<optimized out>) at /usr/include/c++/10/ext/new_allocator.h:89
        proxy = <optimized out>
        response = std::vector of length 0, capacity 0
#7  std::allocator<libproxy::url>::~allocator() (this=<optimized out>, 
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/allocator.h:162
        proxy = <optimized out>
        response = std::vector of length 0, capacity 0
#8  std::_Vector_base<libproxy::url, std::allocator<libproxy::url> 
>::_Vector_impl::~_Vector_impl() (this=<optimized out>, __in_chrg=<optimized 
out>) at /usr/include/c++/10/bits/stl_vector.h:128
        proxy = <optimized out>
        response = std::vector of length 0, capacity 0
#9  std::_Vector_base<libproxy::url, std::allocator<libproxy::url> 
>::~_Vector_base() (this=<optimized out>, __in_chrg=<optimized out>) at 
/usr/include/c++/10/bits/stl_vector.h:337
        proxy = <optimized out>
        response = std::vector of length 0, capacity 0
#10 std::vector<libproxy::url, std::allocator<libproxy::url> >::~vector() 
(this=<optimized out>, __in_chrg=<optimized out>) at 
/usr/include/c++/10/bits/stl_vector.h:683
        proxy = <optimized out>
        response = std::vector of length 0, capacity 0
#11 envvar_config_extension::get_config(libproxy::url const&) (this=<optimized 
out>, dst=<optimized out>) at /usr/include/c++/10/bits/stl_vector.h:678
        proxy = <optimized out>
        response = std::vector of length 0, capacity 0
#12 0x00007fffde02a23c in libproxy::proxy_factory::get_config(libproxy::url&, 
std::vector<libproxy::url, std::allocator<libproxy::url> >&, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
>&) (this=0x7fffe0007320, realurl=..., config=std::vector of length 0, capacity 
0, ignore="") at ./libproxy/proxy.cpp:265
        configurator = 0x7fffe001b460
        i = 0x7fffe001b460
        configs = std::vector of length 1, capacity 1 = {0x7fffe001b460}
#13 0x00007fffde02a656 in 
libproxy::proxy_factory::get_proxies(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffe0007320, realurl="http://stream.antenne.com:80/";) at 
./libproxy/proxy.cpp:206
        configs = std::vector of length 0, capacity 0
        ignore = ""
        dst = {m_orig = "http://stream.antenne.com:80/";, m_scheme = "http", 
m_user = "", m_pass = "", m_host = "stream.antenne.com", m_port = 80, m_path = 
"/", m_query = "", m_ips = 0x0}
        response = std::vector of length 0, capacity 0
#14 0x00007fffde02aad1 in px_proxy_factory_get_proxies(pxProxyFactory_*, char 
const*) (self=0x7fffe0007320, url=0x7fffe003c160 
"http://stream.antenne.com:80/";) at ./libproxy/proxy.cpp:465
        proxies = std::vector of length 0, capacity 0
        retval = <optimized out>
#15 0x00007fffdf64955f in  () at 
/usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so
#16 0x00007ffff704afbe in  () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#17 0x00007ffff72f76e4 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff72f6dfd in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff7f95ea7 in start_thread (arg=<optimized out>) at 
pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = 
              {cancel_jmp_buf = {{jmp_buf = {140736917911296, 
-2084462071721387667, 140737103353358, 140737103353359, 140736917909440, 
8396800, 2084387303329208685, 2084444491399272813}, mask_was_saved = 0}}, priv 
= {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 
0}}}
        not_first_call = 0
#20 0x00007ffff7d28d4f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Reply via email to