Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.9.0 Beta 1
-
None
-
Archlinux, gcc 6.3.1, glibc 2.24
Description
With the current 5.9 with 55-based, when opening file:/// in the demobrowser and clicking a few sub-directories (so far I needed 3 tries outside gdb, one with gdb), I get:
/usr/include/c++/6.3.1/bits/stl_algo.h:4737: Error: comparison doesn't meet irreflexive requirements, assert(!(a < a)). Objects involved in the operation: instance "functor" @ 0x0x7ff58fffe5c8 { } iterator::value_type "ordered type" { } [1] 18559 abort (core dumped) ./demobrowser
Stack:
#0 0x00007fffe197704f in raise () at /usr/lib/libc.so.6 #1 0x00007fffe197847a in abort () at /usr/lib/libc.so.6 #2 0x00007fffe22b5983 in __gnu_debug::_Error_formatter::_M_error() const (this=0x7ffff7cdcf40 <__gnu_debug::_Error_formatter::_M_at(char const*, unsigned int)::__formatter>) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/debug.cc:1058 #3 0x00007fffe963d0a8 in std::sort<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<net::DirectoryLister::DirectoryListerData*, std::__cxx1998::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> > >, std::__debug::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> > >, bool (*)(net::DirectoryLister::DirectoryListerData const&, net::DirectoryLister::DirectoryListerData const&)>(__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<net::DirectoryLister::DirectoryListerData*, std::__cxx1998::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> > >, std::__debug::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> > >, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<net::DirectoryLister::DirectoryListerData*, std::__cxx1998::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> > >, std::__debug::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> > >, bool (*)(net::DirectoryLister::DirectoryListerData const&, net::DirectoryLister::DirectoryListerData const&)) (__first=..., __last=..., __comp=0x7fffe963b98d <net::(anonymous namespace)::CompareAlphaDirsFirst(net::DirectoryLister::DirectoryListerData const&, net::DirectoryLister::DirectoryListerData const&)>) at /usr/include/c++/6.3.1/bits/stl_algo.h:4737 #4 0x00007fffe963bb66 in net::(anonymous namespace)::SortData(std::__debug::vector<net::DirectoryLister::DirectoryListerData, std::allocator<net::DirectoryLister::DirectoryListerData> >*, net::DirectoryLister::ListingType) (data=0x7fff58018000, listing_type=net::DirectoryLister::ALPHA_DIRS_FIRST) at ../../3rdparty/chromium/net/base/directory_lister.cc:56 #5 0x00007fffe963c626 in net::DirectoryLister::Core::Start() (this=0x7fff90238e50) at ../../3rdparty/chromium/net/base/directory_lister.cc:162 #6 0x00007fffe964344c in base::internal::FunctorTraits<void (net::DirectoryLister::Core::*)(), void>::Invoke<scoped_refptr<net::DirectoryLister::Core> const&>(void (net::DirectoryLister::Core::*)(), scoped_refptr<net::DirectoryLister::Core> const&) (method=(void (net::DirectoryLister::Core::*)(net::DirectoryLister::Core * const)) 0x7fffe963c2f0 <net::DirectoryLister::Core::Start()>, receiver_ptr=...) at ../../3rdparty/chromium/base/bind_internal.h:214 #7 0x00007fffe9642388 in base::internal::InvokeHelper<false, void>::MakeItSo<void (net::DirectoryLister::Core::* const&)(), scoped_refptr<net::DirectoryLister::Core> const&>(void (net::DirectoryLister::Core::* const&)(), scoped_refptr<net::DirectoryLister::Core> const&) (functor=@0x7fff906dbde0: (void (net::DirectoryLister::Core::*)(net::DirectoryLister::Core * const)) 0x7fffe963c2f0 <net::DirectoryLister::Core::Start()>, args#0=...) at ../../3rdparty/chromium/base/bind_internal.h:286 #8 0x00007fffe9640689 in base::internal::Invoker<base::internal::BindState<void (net::DirectoryLister::Core::*)(), scoped_refptr<net::DirectoryLister::Core> >, void ()>::RunImpl<void (net::DirectoryLister::Core::* const&)(), std::tuple<scoped_refptr<net::DirectoryLister::Core> > const&, 0ul>(void (net::DirectoryLister::Core::* const&)(), std::tuple<scoped_refptr<net::DirectoryLister::Core> > const&, base::IndexSequence<0ul>) (functor=@0x7fff906dbde0: (void (net::DirectoryLister::Core::*)(net::DirectoryLister::Core * const)) 0x7fffe963c2f0 <net::DirectoryLister::Core::Start()>, bound=std::tuple containing = {...}) at ../../3rdparty/chromium/base/bind_internal.h:364 #9 0x00007fffe963f2bb in base::internal::Invoker<base::internal::BindState<void (net::DirectoryLister::Core::*)(), scoped_refptr<net::DirectoryLister::Core> >, void ()>::Run(base::internal::BindStateBase*) (base=0x7fff906dbdc0) at ../../3rdparty/chromium/base/bind_internal.h:342 #10 0x00007fffe580fb49 in base::internal::RunMixin<base::Callback<void (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> >::Run() const (this=0x7fff6b7fdd98) at ../../3rdparty/chromium/base/callback.h:64 #11 0x00007fffe8259639 in base::(anonymous namespace)::WorkerThread::ThreadMain() (this=0x7fff9025eb70) at ../../3rdparty/chromium/base/threading/worker_pool_posix.cc:93 #12 0x00007fffe823248a in base::(anonymous namespace)::ThreadFunc(void*) (params=0x7fff906ad420) at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71 #13 0x00007fffe258c454 in start_thread () at /usr/lib/libpthread.so.0 #14 0x00007fffe1a2c7df in clone () at /usr/lib/libc.so.6
Attachments
For Gerrit Dashboard: QTBUG-59242 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
187451,2 | Legalize chromium's directory sort | 55-based | qt/qtwebengine-chromium | Status: MERGED | +2 | 0 |