https://bugs.kde.org/show_bug.cgi?id=449773

            Bug ID: 449773
           Summary: Conditional jump or move depends on uninitialised
                    value in KWin::DrmPipeline::checkTestBuffer
           Product: kwin
           Version: 5.24.0
          Platform: openSUSE RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: platform-drm
          Assignee: kwin-bugs-n...@kde.org
          Reporter: jirisl...@gmail.com
                CC: kwin-bugs-n...@kde.org, n...@kde.org,
                    xaver.h...@gmail.com
        Depends on: 445894
            Blocks: 446101
  Target Milestone: ---

+++ This bug was initially created as a clone of Bug #445894 +++

> Conditional jump or move depends on uninitialised value(s)
>    at 0xCD2EBCF: 
> KWin::DrmPipeline::checkTestBuffer()::{lambda(QSharedPointer<KWin::DrmBuffer> 
> const&)#1}::operator()(QSharedPointer<KWin::DrmBuffer> const&) const 
> (drm_pipeline.cpp:306)
>    by 0xCD2EDA3: KWin::DrmPipeline::checkTestBuffer() (drm_pipeline.cpp:318)
>    by 0xCD2F41E: 
> KWin::DrmPipeline::commitPipelinesAtomic(QVector<KWin::DrmPipeline*> const&, 
> KWin::DrmPipeline::CommitMode, QVector<KWin::DrmObject*> const&) 
> (drm_pipeline.cpp:131)
>    by 0xCD26BA8: KWin::DrmGpu::testPipelines() (drm_gpu.cpp:427)
>    by 0xCD29E27: 
> KWin::DrmGpu::checkCrtcAssignment(QVector<KWin::DrmConnector*>, 
> QVector<KWin::DrmCrtc*>) (drm_gpu.cpp:365)
>    by 0xCD29E27: 
> KWin::DrmGpu::checkCrtcAssignment(QVector<KWin::DrmConnector*>, 
> QVector<KWin::DrmCrtc*>) (drm_gpu.cpp:365)
>    by 0xCD3B298: UnknownInlinedFun (drm_gpu.cpp:398)
>    by 0xCD3B298: UnknownInlinedFun (drm_gpu.cpp:396)
>    by 0xCD3B298: 
> KWin::DrmGpu::testPendingConfiguration(KWin::DrmGpu::TestMode) [clone 
> .constprop.0] (drm_gpu.cpp:403)
>    by 0xCD14B43: KWin::DrmBackend::updateOutputs() (drm_gpu.cpp:309)
>    by 0xCD16F0C: KWin::DrmBackend::handleUdevEvent() (drm_backend.cpp:237)
>    by 0x6FC54F2: UnknownInlinedFun (qobjectdefs_impl.h:398)
>    by 0x6FC54F2: void doActivate<false>(QObject*, int, void**) 
> (qobject.cpp:3886)
>    by 0x6FC88CE: QSocketNotifier::activated(QSocketDescriptor, 
> QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) 
> (moc_qsocketnotifier.cpp:178)
>    by 0x6FC90CA: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:302)
>  Uninitialised value was created by a stack allocation
>    at 0xCD329F0: QtPrivate::QSlotObject<bool 
> (KWin::EglGbmBackend::*)(KWin::DrmAbstractOutput*), 
> QtPrivate::List<KWin::DrmAbstractOutput*>, void>::impl(int, 
> QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (qobjectdefs_impl.h:411)

(In reply to Vlad Zahorodnii from bug 445894 comment #23)
> > So it's the pointer returned by backend->drmFormat(m_output);
> 
> drmFormat() returns an integer. can you add a default member initializer for
> GbmFormat::drmFormat, i.e.
> 
> struct GbmFormat
> {
>     uint32_t drmFormat = 0;

Sure, this makes it go away.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20211117
KDE Plasma Version: 5.23.2
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2
Kernel Version: 5.15.2-1.g26a203b-default (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i7-6600U CPU @ 2.60GHz
Memory: 15.3 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 520


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=445894
[Bug 445894] Crash in KWin::DrmOutput::updateCursor -> malloc(): unsorted
double linked list corrupted
https://bugs.kde.org/show_bug.cgi?id=446101
[Bug 446101] Crash in KWin::DrmPipeline::setCursor
-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to