Details
-
Bug
-
Resolution: Incomplete
-
P3: Somewhat important
-
None
-
5.7.0
-
None
-
libproxy 0.4.13
Description
Since updating to libproxy 0.4.13, I get segfaults due to C++ exceptions when libproxy is used from Qt (QtWebKit/QtWebEngine). Backtrace:
[...] #10 0x00007fbcd27044cb in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) (obj=obj@entry=0x7fbc786efa70, tinfo=0x7fbcd29efab0 <typeinfo for std::runtime_error>, dest=0x7fbcd2719e30 <std::runtime_error::~runtime_error()>) at /build/gcc-multilib/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:82 #11 0x00007fbcba89971a in envvar_config_extension::get_config(libproxy::url const&) (this=<optimized out>, dst=...) at ../../libproxy-0.4.13/libproxy/modules/config_envvar.cpp:50 #12 0x00007fbcba890a2e 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=this@entry=0x7fbc78704b10, realurl=..., config=std::vector of length 0, capacity 0, ignore="") at ../../libproxy-0.4.13/libproxy/proxy.cpp:265 #13 0x00007fbcba890e5d in libproxy::proxy_factory::get_proxies(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (this=this@entry=0x7fbc78704b10, realurl="tcp:") at ../../libproxy-0.4.13/libproxy/proxy.cpp:206 #14 0x00007fbcba8913bc in px_proxy_factory_get_proxies(pxProxyFactory_*, char const*) (self=0x7fbc78704b10, url=0x7fbc7874a218 "tcp:") at ../../libproxy-0.4.13/libproxy/proxy.cpp:465 #15 0x00007fbcbeaa8633 in QLibProxyWrapper::getProxies(QUrl const&) (this=0x7fbcbed4ae50 <(anonymous namespace)::Q_QGS_libProxyWrapper::innerFunction()::holder>, url=...) at kernel/qnetworkproxy_libproxy.cpp:83 [...]
full backtrace (Starting on line 844 for the relevant thread).
I haven't been able to reproduce this via a minimal example, but I can reproduce it by running my application's testsuite (which uses PyQt5) with QtWebEngine, and I've gotten crash reports for people using it with QtWebKit as well.
I'm also not sure if this is a libproxy issue, or an issue with how Qt uses it.