Date: Fri, 19 Jun 2020 20:01:22 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 247431] sysutils/bsdisks: coredumps on postponed registration processing due to wrong iteration Message-ID: <bug-247431-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D247431 Bug ID: 247431 Summary: sysutils/bsdisks: coredumps on postponed registration processing due to wrong iteration Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: arrowd@FreeBSD.org Reporter: osidorkin@gmail.com Assignee: arrowd@FreeBSD.org Flags: maintainer-feedback?(arrowd@FreeBSD.org) Created attachment 215797 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D215797&action= =3Dedit Fix iteration over postponed registrations set When entry is removed whth QSet<>::erase() the iterator is invalidated so it should not be used anymore. Iterator returned by QSet<>::erase() call shoul= d be used instead and not incremented on the given loop iteration (https://doc.qt.io/qt-5/qset-iterator.html) The attached patch fixes looping (and my coredump). bsdisks log is the following: ..... "Registering /org/freedesktop/UDisks2/block_devices/nvd0p1" Pop "nvd0p1" from m_postponedRegistrations =D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B0 =D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0= =D1=86=D0=B8=D0=B8 =D0=BD=D0=B0 =D1=88=D0=B8=D0=BD=D0=B5(core dumped) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-247431-7788>