strawberrymusicplayer / strawberry

:strawberry: Strawberry Music Player
https://www.strawberrymusicplayer.org/
GNU General Public License v3.0
2.74k stars 191 forks source link

(Windows) OSD Pretty crash with Qt 6.0.4 when compiled with GCC 10.3.0 and GCC 11.1 #708

Closed jonaski closed 3 years ago

jonaski commented 3 years ago

Describe the bug Crash when starting a song with OSD Pretty enabled when compiled with GCC 10.3.0 or higher. Works with GCC 10.2.0

To Reproduce Start playing a song.

System Information:

Additional context Crash looks to be freetype related. No problem on Linux when compiled with GCC 11

gdb: unknown target exception 0xc0000028 at 0x7ffc24f32266
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1 received signal ?, Unknown signal.
0x00007ffc24f32266 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
(gdb) bt
#0  0x00007ffc24f32266 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffc24e60bb3 in ntdll!RtlUnwindEx () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffc24912eed in msvcrt!_setjmpex () from C:\Windows\System32\msvcrt.dll
#3  0x00007ffbc26e5b80 in gray_record_cell () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#4  0x00007ffbc26e65ca in gray_render_line () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#5  0x00007ffbc26e709f in gray_convert_glyph_inner.constprop ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#6  0x00007ffbc26e7627 in gray_convert_glyph () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#7  0x00007ffbc27146be in QRasterPaintEnginePrivate::rasterize(QT_FT_Outline_*, void (*)(int, QT_FT_Span_ const*, void*), void*, QRasterBuffer*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#8  0x00007ffbc2721748 in QRasterPaintEngine::fill(QVectorPath const&, QBrush const&) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#9  0x00007ffbc2728c3b in QPaintEngineEx::stroke(QVectorPath const&, QPen const&) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#10 0x00007ffbc2725f6c in QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#11 0x00007ff603cd5957 in QPainter::drawRoundedRect (this=0x4c091fad78, rect=..., xRadius=10, yRadius=10,
    mode=Qt::AbsoluteSize) at /home/jonas/mxe-shared/usr/x86_64-w64-mingw32.shared/qt6/include/QtGui/qpainter.h:613
#12 0x00007ff603989956 in OSDPretty::paintEvent (this=0x198dd43ed40)
    at /home/jonas/Projects/strawberry/strawberry/src/osd/osdpretty.cpp:343
#13 0x00007ffbc1cfa558 in QWidget::event(QEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#14 0x00007ffbc1cb5356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#15 0x00007ffbc2e35e08 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#16 0x00007ffbc1cf30fb in QWidgetPrivate::sendPaintEvent(QRegion const&) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#17 0x00007ffbc1cf351b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivat--Type <RET> for more, q to quit, c to continue without paging--
e::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#18 0x00007ffbc1d027d2 in QWidgetRepaintManager::paintAndFlush() ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#19 0x00007ffbc1d03022 in QWidgetRepaintManager::sync(QWidget*, QRegion const&) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#20 0x00007ffbc1d0abda in QWidgetWindow::event(QEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#21 0x00007ffbc1cb5356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#22 0x00007ffbc2e35e08 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#23 0x00007ffbc2627c38 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#24 0x00007ffbc2664d54 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#25 0x00007ffbc2f9401d in QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#26 0x00007ffbc2924735 in QWindowsGuiEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#27 0x00007ffbc2e3f783 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#28 0x00007ffbc2e3e0a6 in QCoreApplication::exec() () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#29 0x00007ff6037d25e7 in main (argc=1, argv=0x198db5c5d20)
    at /home/jonas/Projects/strawberry/strawberry/src/main.cpp:305
jonaski commented 3 years ago

With ucrtbase instead of msvcrt

gdb: unknown target exception 0xc0000028 at 0x7ffc24f32266

Thread 1 received signal ?, Unknown signal.
0x00007ffc24f32266 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
(gdb) bt
#0  0x00007ffc24f32266 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffc24e60bb3 in ntdll!RtlUnwindEx () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffc22d2af0a in ucrtbase!.intrinsic_setjmpex () from C:\Windows\System32\ucrtbase.dll
#3  0x00007ffbc1f95b80 in gray_record_cell () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#4  0x00007ffbc1f965ca in gray_render_line () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#5  0x00007ffbc1f9709f in gray_convert_glyph_inner.constprop () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#6  0x00007ffbc1f97627 in gray_convert_glyph () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#7  0x00007ffbc1fc46be in QRasterPaintEnginePrivate::rasterize(QT_FT_Outline_*, void (*)(int, QT_FT_Span_ const*, void*), void*, QRasterBuffer*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#8  0x00007ffbc1fd1748 in QRasterPaintEngine::fill(QVectorPath const&, QBrush const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#9  0x00007ffbc1fd8c3b in QPaintEngineEx::stroke(QVectorPath const&, QPen const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#10 0x00007ffbc1fd5f6c in QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#11 0x00007ff6be5955c7 in QPainter::drawRoundedRect (this=0x3cd1faf98, rect=..., xRadius=10, yRadius=10, mode=Qt::AbsoluteSize) at /home/jonas/mxe-shared/usr/x86_64-w64-mingw32.shared/qt6/include/QtGui/qpainter.h:613
#12 0x00007ff6be249956 in OSDPretty::paintEvent (this=0x20204cf9380) at /home/jonas/Projects/strawberry/strawberry/src/osd/osdpretty.cpp:343
#13 0x00007ffba962a558 in QWidget::event(QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#14 0x00007ffba95e5356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#15 0x00007ffbc4aa5e28 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#16 0x00007ffba96230fb in QWidgetPrivate::sendPaintEvent(QRegion const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#17 0x00007ffba962351b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#18 0x00007ffba96327d2 in QWidgetRepaintManager::paintAndFlush() () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#19 0x00007ffba9633022 in QWidgetRepaintManager::sync(QWidget*, QRegion const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#20 0x00007ffba963abda in QWidgetWindow::event(QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#21 0x00007ffba95e5356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#22 0x00007ffbc4aa5e28 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#23 0x00007ffbc1ed7c38 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#24 0x00007ffbc1f14d54 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#25 0x00007ffbc4c0403d in QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#26 0x00007ffbc21d4735 in QWindowsGuiEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#27 0x00007ffbc4aaf7a3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#28 0x00007ffbc4aae0c6 in QCoreApplication::exec() () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#29 0x00007ff6be0925e7 in main (argc=1, argv=0x20202db9570) at /home/jonas/Projects/strawberry/strawberry/src/main.cpp:305
(gdb)
#0  0x00007ffc24f32266 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffc24e60bb3 in ntdll!RtlUnwindEx () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffc22d2af0a in ucrtbase!.intrinsic_setjmpex () from C:\Windows\System32\ucrtbase.dll
#3  0x00007ffbc1f95b80 in gray_record_cell () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#4  0x00007ffbc1f965ca in gray_render_line () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#5  0x00007ffbc1f9709f in gray_convert_glyph_inner.constprop () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#6  0x00007ffbc1f97627 in gray_convert_glyph () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#7  0x00007ffbc1fc46be in QRasterPaintEnginePrivate::rasterize(QT_FT_Outline_*, void (*)(int, QT_FT_Span_ const*, void*), void*, QRasterBuffer*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#8  0x00007ffbc1fd1748 in QRasterPaintEngine::fill(QVectorPath const&, QBrush const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#9  0x00007ffbc1fd8c3b in QPaintEngineEx::stroke(QVectorPath const&, QPen const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#10 0x00007ffbc1fd5f6c in QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#11 0x00007ff6be5955c7 in QPainter::drawRoundedRect (this=0x3cd1faf98, rect=..., xRadius=10, yRadius=10, mode=Qt::AbsoluteSize) at /home/jonas/mxe-shared/usr/x86_64-w64-mingw32.shared/qt6/include/QtGui/qpainter.h:613
#12 0x00007ff6be249956 in OSDPretty::paintEvent (this=0x20204cf9380) at /home/jonas/Projects/strawberry/strawberry/src/osd/osdpretty.cpp:343
#13 0x00007ffba962a558 in QWidget::event(QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#14 0x00007ffba95e5356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#15 0x00007ffbc4aa5e28 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#16 0x00007ffba96230fb in QWidgetPrivate::sendPaintEvent(QRegion const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#17 0x00007ffba962351b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
   from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#18 0x00007ffba96327d2 in QWidgetRepaintManager::paintAndFlush() () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#19 0x00007ffba9633022 in QWidgetRepaintManager::sync(QWidget*, QRegion const&) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#20 0x00007ffba963abda in QWidgetWindow::event(QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#21 0x00007ffba95e5356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Widgets.dll
#22 0x00007ffbc4aa5e28 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#23 0x00007ffbc1ed7c38 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#24 0x00007ffbc1f14d54 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#25 0x00007ffbc4c0403d in QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#26 0x00007ffbc21d4735 in QWindowsGuiEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Gui.dll
#27 0x00007ffbc4aaf7a3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#28 0x00007ffbc4aae0c6 in QCoreApplication::exec() () from C:\Program Files\Strawberry Music Player Debug\Qt6Core.dll
#29 0x00007ff6be0925e7 in main (argc=1, argv=0x20202db9570) at /home/jonas/Projects/strawberry/strawberry/src/main.cpp:305
(gdb)
jonaski commented 3 years ago

https://bugreports.qt.io/browse/QTBUG-93476