Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jul 2020 08:37:18 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 247991] Segfault on some applications using qt5
Message-ID:  <bug-247991-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D247991

            Bug ID: 247991
           Summary: Segfault on some applications using qt5
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: mt1+freebsd@systella.fr

Hello,

For several months, all applications linked against qt5 abort with segfault
(okular, vlc, libreoffice since yesterday...).

I have rebuilt qt5 (5.14.2) and vlc from source with debug symbols. Backtra=
ce
is :

(gdb) bt
#0  0x000000080163fa20 in qt_memfillXX_avx2(unsigned char*, long long
__vector(4), long long) () from /root/qt5/lib/libQt5Gui.so.5
#1  0x00000008018bc2d5 in fillRect_normalized(QRect const&, QSpanData*,
QRasterPaintEnginePrivate*) () from /root/qt5/lib/libQt5Gui.so.5
#2  0x00000008018bdcd6 in QRasterPaintEngine::fillRect(QRectF const&,
QSpanData*) () from /root/qt5/lib/libQt5Gui.so.5
#3  0x00000008018e1a9c in QPainter::fillRect(QRect const&, QBrush const&) ()
   from /root/qt5/lib/libQt5Gui.so.5
#4  0x00000008010c04be in fillRegion(QPainter*, QRegion const&, QBrush
const&)
    () from /root/qt5/lib/libQt5Widgets.so.5
#5  0x00000008010c017f in QWidgetPrivate::paintBackground(QPainter*,
QRegion const&, QFlags<QWidgetPrivate::DrawWidgetFlag>) const ()
   from /root/qt5/lib/libQt5Widgets.so.5

I have tried to rebuild qt5 without optimization (avx2) but I obtain a simi=
lar
segfault :

(gdb) bt
#0  0x0000000801a0c940 in qt_memfillXX_aligned(void*, long long
__vector(2), unsigned long long) () from
/usr/local/Qt-5.14.2/lib/libQt5Gui.so.5
#1  0x00000008018b4835 in fillRect_normalized(QRect const&, QSpanData*,
QRasterPaintEnginePrivate*) () from /usr/local/Qt-5.14.2/lib/libQt5Gui.so.5
#2  0x00000008018b6236 in QRasterPaintEngine::fillRect(QRectF const&,
QSpanData*) () from /usr/local/Qt-5.14.2/lib/libQt5Gui.so.5
#3  0x00000008018d9ffc in QPainter::fillRect(QRect const&, QBrush const&) ()
   from /usr/local/Qt-5.14.2/lib/libQt5Gui.so.5
#4  0x00000008010c04be in fillRegion(QPainter*, QRegion const&, QBrush
const&)
    () from /usr/local/Qt-5.14.2/lib/libQt5Widgets.so.5
#5  0x00000008010c017f in QWidgetPrivate::paintBackground(QPainter*,
QRegion const&, QFlags<QWidgetPrivate::DrawWidgetFlag>) const ()
   from /usr/local/Qt-5.14.2/lib/libQt5Widgets.so.5
#6  0x00000008010be570 in QWidgetPrivate::drawWidget(QPaintDevice*,
QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>,
QPainter*, QWidgetRepaintManager*) () from
/usr/local/Qt-5.14.2/lib/libQt5Widgets.so.5
#7  0x00000008010a110f in QWidgetRepaintManager::paintAndFlush() ()
   from /usr/local/Qt-5.14.2/lib/libQt5Widgets.so.5
#8  0x000000080109f47b in QWidgetRepaintManager::sync(QWidget*, QRegion
const&)
    () from /usr/local/Qt-5.14.2/lib/libQt5Widgets.so.5
#9  0x00000008010ec834 in QWidgetWindow::handleExposeEvent(QExposeEvent*) ()
   from /usr/local/Qt-5.14.2/lib/libQt5Widgets.so.5

gdb) info register
rax            0x805e1b000         34458415104
rbx            0x272               626
rcx            0x805e58220         34458665504
rdx            0x3d220             250400
rsi            0x3d220             250400
rdi            0x805e1b000         34458415104
rbp            0x7fffffffcc20      0x7fffffffcc20
rsp            0x7fffffffcc20      0x7fffffffcc20
r8             0xff000000          4278190080
r9             0xef                239
r10            0x80186af50         34385342288
r11            0x0                 0
r12            0x804031700         34427049728
r13            0x0                 0
r14            0x64                100
r15            0x0                 0
rip            0x801a0c940         0x801a0c940
<qt_memfillXX_aligned(void*, long long __vector(2), unsigned long long)+32>
eflags         0x10202             [ IF RF ]
cs             0x43                67
ss             0x3b                59
ds             <unavailable>
es             <unavailable>
fs             <unavailable>
gs             <unavailable>
fs_base        0x802ff78e0         34410035424
gs_base        0x0                 0

If I remember, qt5 ran without trouble under FreeBSD 11. My system now runs
with :
pythagore:[~] > uname -a
FreeBSD pythagore 12.1-RELEASE-p7 FreeBSD 12.1-RELEASE-p7 GENERIC  amd64

drm seems to run :
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
[drm] Unable to create a private tmpfs mount, hugepage support will be
disabled(-19).
Failed to add WC MTRR for [0xe0000000-0xefffffff]: -22; performance may suf=
fer
[drm] Got stolen memory base 0xdb200000, size 0x4000000
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm] Connector VGA-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.VGA-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-2: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-2
[drm]   - kern.vt.fb.default_mode
[drm] Connector DP-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DP-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-3: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-3
[drm]   - kern.vt.fb.default_mode
[drm] Initialized i915 1.6.0 20171222 for drmn0 on minor 0
VT: Replacing driver "vga" with new "fb".

This workstation is a diskless machine (with NFS root exported from a NetBSD
server) and X works as expected (with acceleration).

Help will be welcome.

Best regards,

JKB

--=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-247991-7788>