Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2024-04-02 Thread Bernhard Übelacker

Hello,
I tried to reproduce this inside a minimal stable/bookworm VM
and received a qmlcachegen crash.

See attached file for details.
The resulting backtrace is quite similar to that found in:
  https://bugreports.qt.io/browse/QTBUG-117361

Might avoid the crash, but cannot say if this would make the build succeed.

Kind regards,
Bernhard


# 2024-04-02 stable/bookworm amd64 qemu VM

apt install systemd-coredump gdb libqt6qmlcompiler6-dbgsym
apt build-dep qt6-virtualkeyboard

mkdir /home/benutzer/source/qt6-virtualkeyboard/orig -p
cd/home/benutzer/source/qt6-virtualkeyboard/orig
apt source qt6-virtualkeyboard


cd /home/benutzer/source/qt6-virtualkeyboard
cp orig try1 -a
cd try1/qt6-virtualkeyboard-6.4.2+dfsg
DEB_BUILD_OPTIONS=parallel=1 dpkg-buildpackage


...
[110/301] cd 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components
 && /usr/bin/cmake -E make_directory 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache
 && /usr/lib/qt6/libexec/qmlcachegen --bare --resource-path 
/qt-project.org/imports/QtQuick/VirtualKeyboard/Components/Keyboard.qml -I 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml
 -I /usr/lib/x86_64-linux-gnu/qt6/qml -i 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml/QtQuick/VirtualKeyboard/Components/qmldir
 --resource 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmake_QtQuick_VirtualKeyboard_Components.qrc
 --resource 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qtvkbcomponentsplugin_raw_qml_0.qrc
 -o 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp
 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/src/components/Keyboard.qml
FAILED: src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp
 
cd 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components
 && /usr/bin/cmake -E make_directory 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache
 && /usr/lib/qt6/libexec/qmlcachegen --bare --resource-path 
/qt-project.org/imports/QtQuick/VirtualKeyboard/Components/Keyboard.qml -I 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml
 -I /usr/lib/x86_64-linux-gnu/qt6/qml -i 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml/QtQuick/VirtualKeyboard/Components/qmldir
 --resource 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmake_QtQuick_VirtualKeyboard_Components.qrc
 --resource 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qtvkbcomponentsplugin_raw_qml_0.qrc
 -o 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp
 
/home/benutzer/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg/src/components/Keyboard.qml
Segmentation fault (core dumped)
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j1 -v 
returned exit code 1
make: *** [debian/rules:8: binary] Fehler 1
dpkg-buildpackage: Fehler: Unterprozess debian/rules binary lieferte Exitstatus 
2
benutzer@debian:~/source/qt6-virtualkeyboard/try1/qt6-virtualkeyboard-6.4.2+dfsg$



dmesg
[  431.390156] qmlcachegen[5680]: segfault at 0 ip 7fde080d0672 sp 
7ffe33185b60 error 4 in libQt6QmlCompiler.so.6.4.2[7fde0804d000+106000] 
likely on CPU 5 (core 5, socket 0)
[  431.390173] Code: 64 cd f7 ff 0f 1f 40 00 41 57 41 56 41 55 41 54 55 48 89 
fd 53 48 89 f3 48 83 ec 28 64 48 8b 04 25 28 00 00 00 48 89 44 24 18 <48> 8b 06 
48 c7 06 00 00 00 00 4c 8b 27 48 89 07 4d 85 e4 74 10 4c



journalctl -e
Apr 02 22:45:36 debian systemd-coredump[5682]: [] Process 5680 (qmlcachegen) 
of user 1000 dumped core.
   
   Stack trace of thread 5680:
   #0  0x7fde080d0672 n/a 
(libQt6QmlCompiler.so.6 + 0xa8672)
  

Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-12-06 Thread Santiago Vila

# This still happens in bookworm
found 1040496 6.4.2+dfsg-1
thanks

Hi. If this was a failure in the tests, the end user could enable
"nocheck" to get working binaries, but in this case the failure happens
in dh_auto_build and there is no "escape". For that reason I think
the implemented workaround should be present in stable as well.

Thanks.



Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-26 Thread Adrian Bunk
On Wed, Jul 26, 2023 at 06:44:17AM +0200, Helmut Grohne wrote:
>...
> Let me clarify my view on this. I see a failure to build from source
> when passing parallel=1 as an RC bug.
>...

FTR, RC is only:
  Packages must autobuild without failure on all architectures on
  which they are supported.

Debian has not had single-core buildds for release architectures
for many years, and it's unlikely it will ever have again.

A few years ago there was some discussion around this topic of 
single-core building (see #932795), which is not considered RC
for exactly this reason.

Another comparison would be nocheck, a different non-standard option 
that causes you trouble when it's broken in a package - but this is
also not an RC bug since it is not used on buildds of release 
architectures.

Note that in all these cases "not an RC bug" does not change the fact 
that it "is a bug".

> Helmut

cu
Adrian

[1] https://release.debian.org/testing/rc_policy.txt



Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-26 Thread Lisandro Damián Nicanor Pérez Meyer
Hi Helmut!

El miércoles, 26 de julio de 2023 01:44:17 -03 Helmut Grohne escribió:
> Hi Lisandro,
> 
> On Tue, Jul 25, 2023 at 09:23:14PM -0300, Lisandro Damian Nicanor Perez Meyer 
> wrote:
> > As discussed on IRC I am hacking around this in qt6-virtualkeyboard 
> > 6.4.2+dfsg-3 so parallel is at least 2. I personally do not think this is 
> > an 
> > RC bug, but at least we have a way to avoid the FTBFS for the time being.
> 
> Let me clarify my view on this. I see a failure to build from source
> when passing parallel=1 as an RC bug.

To me RC means "not fit for releasing", including "does not build in our 
infra". The fact that using parallel >1 makes it work (we have a workaround) 
and that our infra does not suffers from this bug means, in my point of view, 
that it is not RC. The final result when built in our infra is still a 
perfectly usable piece of software.

> However, I do not see a failure to
> honour the requested parallelity as an important bug. When I request
> parallel=1 and your package successfully performs a parallel build,
> that's not an important bug in my view. There are a number of packages
> in the archive doing this. As long as your workaround does not cause
> random FTBFS (e.g. on slower buildds), I think it adequately addresses
> the issue I raised and I'm happy with you closing the bug.
> 
> Leaving that aside, an unexplained segfault during build is probably
> worth investigation (though not an RC bug either).
> 
> Is this something you can agree to?

Well, a segfault that only happens on certain conditions that are hard to 
replicate (I could not debug it, it only happened for me on sbuild) and come 
from parallelism _are_ important, but complicated to debug. Now at the same 
time I tried a 6.5.1 build with parallel=1 on sbuild (one I have for private 
purposes) and the build worked for me. So this seems to be an upstream bug that 
it is probably fixed by upstream already. At this point I prefer to simply use 
my scarce free time to try and package a newer Qt rather than trying to dig 
more into this issue.

So, I think that, for the time being, keeping the severity in important + 
checking that parallel >= 2 is a good compromise solution. Now if we can 
replicate this in Qt >= 6.5.x then something else is going on and requires 
further checking.

signature.asc
Description: This is a digitally signed message part.


Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-25 Thread Helmut Grohne
Hi Lisandro,

On Tue, Jul 25, 2023 at 09:23:14PM -0300, Lisandro Damian Nicanor Perez Meyer 
wrote:
> As discussed on IRC I am hacking around this in qt6-virtualkeyboard 
> 6.4.2+dfsg-3 so parallel is at least 2. I personally do not think this is an 
> RC bug, but at least we have a way to avoid the FTBFS for the time being.

Let me clarify my view on this. I see a failure to build from source
when passing parallel=1 as an RC bug. However, I do not see a failure to
honour the requested parallelity as an important bug. When I request
parallel=1 and your package successfully performs a parallel build,
that's not an important bug in my view. There are a number of packages
in the archive doing this. As long as your workaround does not cause
random FTBFS (e.g. on slower buildds), I think it adequately addresses
the issue I raised and I'm happy with you closing the bug.

Leaving that aside, an unexplained segfault during build is probably
worth investigation (though not an RC bug either).

Is this something you can agree to?

Helmut



Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-25 Thread Lisandro Damian Nicanor Perez Meyer
severity 1040496 important
thanks

As discussed on IRC I am hacking around this in qt6-virtualkeyboard 
6.4.2+dfsg-3 so parallel is at least 2. I personally do not think this is an 
RC bug, but at least we have a way to avoid the FTBFS for the time being.

My tests with Qt 6.5 showed no issue, so hopefully we are going to get this 
cleaned up soon.

Regards, Lisandro.

signature.asc
Description: This is a digitally signed message part.


Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-08 Thread Lisandro Damian Nicanor Perez Meyer
On sábado, 8 de julio de 2023 12:27:34 -03 Lisandro Damián Nicanor Pérez Meyer 
wrote:
> Hi,
> 
> On Thu, 6 Jul 2023 at 14:30, Helmut Grohne  wrote:
> > Source: qt6-virtualkeyboard
> > Version: 6.4.2+dfsg-2
> > Severity: serious
> > Tags: ftbfs
> > 
> > qt6-virtualkeyboard fails to build from source in unstable when passing
> 
> > DEB_BUILD_OPTIONS=parallel=1. A build ends as follows:
> Interestingly enough I could only reproduce the issue by using sbuild.
> If I hand compile it using dpkg-buildpackage directly on a clean
> machine things just work.

More info: I did a build of qt6-virtualkeyboard on 6.5.1 with parallel=1 with 
no issues... but at the same time not the fully proper environment, because it 
was an sbuild build using Ubuntu focal and some special Qt build I have at 
hand. But maybe the answer is there.

signature.asc
Description: This is a digitally signed message part.


Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-08 Thread Lisandro Damián Nicanor Pérez Meyer
Hi,


On Thu, 6 Jul 2023 at 14:30, Helmut Grohne  wrote:
>
> Source: qt6-virtualkeyboard
> Version: 6.4.2+dfsg-2
> Severity: serious
> Tags: ftbfs
>
> qt6-virtualkeyboard fails to build from source in unstable when passing
> DEB_BUILD_OPTIONS=parallel=1. A build ends as follows:

Interestingly enough I could only reproduce the issue by using sbuild.
If I hand compile it using dpkg-buildpackage directly on a clean
machine things just work.

-- 
Lisandro Damián Nicanor Pérez Meyer
https://perezmeyer.com.ar/



Bug#1040496: qt6-virtualkeyboard FTBFS with parallel=1: qmlcachegen segfaults

2023-07-06 Thread Helmut Grohne
Source: qt6-virtualkeyboard
Version: 6.4.2+dfsg-2
Severity: serious
Tags: ftbfs

qt6-virtualkeyboard fails to build from source in unstable when passing
DEB_BUILD_OPTIONS=parallel=1. A build ends as follows:

| [110/301] cd /<>/obj-x86_64-linux-gnu/src/components && 
/usr/bin/cmake -E make_directory 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache && 
/usr/lib/qt6/libexec/qmlcachegen --bare --resource-path 
/qt-project.org/imports/QtQuick/VirtualKeyboard/Components/Keyboard.qml -I 
/<>/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml -I 
/usr/lib/x86_64-linux-gnu/qt6/qml -i 
/<>/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml/QtQuick/VirtualKeyboard/Components/qmldir
 --resource 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmake_QtQuick_VirtualKeyboard_Components.qrc
 --resource 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qtvkbcomponentsplugin_raw_qml_0.qrc
 -o 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp
 /<>/src/components/Keyboard.qml
| FAILED: src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp
| cd /<>/obj-x86_64-linux-gnu/src/components && /usr/bin/cmake -E 
make_directory 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache && 
/usr/lib/qt6/libexec/qmlcachegen --bare --resource-path 
/qt-project.org/imports/QtQuick/VirtualKeyboard/Components/Keyboard.qml -I 
/<>/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml -I 
/usr/lib/x86_64-linux-gnu/qt6/qml -i 
/<>/obj-x86_64-linux-gnu/lib/x86_64-linux-gnu/qt6/qml/QtQuick/VirtualKeyboard/Components/qmldir
 --resource 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmake_QtQuick_VirtualKeyboard_Components.qrc
 --resource 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qtvkbcomponentsplugin_raw_qml_0.qrc
 -o 
/<>/obj-x86_64-linux-gnu/src/components/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp
 /<>/src/components/Keyboard.qml
| Segmentation fault (core dumped)
| ninja: build stopped: subcommand failed.
| dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j1 -v 
returned exit code 1
| make: *** [debian/rules:12: binary] Error 25
| dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 
2

This originally was a cross build failure, but it also reproduces
natively. Therefore, I know that it also fails on an arm64 machine. In
all of my testing, all parallel=1 builds reliably failed while all
builds that weren't parallel=1 succeeded (cross or native). This is not
necessarily a bug in qt6-virtualkeyboard itself. I'll leave it up to you
to reassign as necessary.

Helmut