Skip site navigation (1)Skip section navigation (2)
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>