Bug#929682: libqt5qml5: QQmlEngine segfaults on ia64
Control: reopen -1 Control: notfixed -1 qtdeclarative-opensource-src/5.12.4-1 Control: tags -1 -patch Hi Jason, On Wed, Jun 19, 2019 at 02:30:53PM -0400, Jason Duerstock wrote: > Investigating now. Any update on this? I am reopening this bug for the time being. -- Dmitry Shachnev signature.asc Description: PGP signature
Bug#929682: libqt5qml5: QQmlEngine segfaults on ia64
Investigating now. On Wed, Jun 19, 2019 at 1:56 PM Dmitry Shachnev wrote: > Hi Jason! > > On Tue, May 28, 2019 at 11:58:38AM -0400, Jason Duerstock wrote: > > As reported in bug #894726, qtdeclarative-opensource-src has a bug on > > systems that use 64-bit pointers with any bits from 63-50 set. The > > attached patch addresses this issue on ia64 by shifting bits 63-61 > > (which are the "virtual region number" on ia64) into bits 49-47. Please > > include it in the next release. > > I have applied the patch (the version that was merged upstream), but > unfortunately most of the tests are still failing. > > In the build log, I can count 149 FAIL!s and 42 Segmentation faults. > > It is much more than 57 failures you mentioned in the upstream bug [1]. > Looking at the log, *most* of the tests are failing. Passing ones are > mostly the qmlMinify ones, which do not use the QML engine at all. > > Can you please look what happened there? > > [1]: > https://bugreports.qt.io/browse/QTBUG-56264?focusedCommentId=462440#comment-462440 > > -- > Dmitry Shachnev >
Bug#929682: libqt5qml5: QQmlEngine segfaults on ia64
Hi Jason! On Tue, May 28, 2019 at 11:58:38AM -0400, Jason Duerstock wrote: > As reported in bug #894726, qtdeclarative-opensource-src has a bug on > systems that use 64-bit pointers with any bits from 63-50 set. The > attached patch addresses this issue on ia64 by shifting bits 63-61 > (which are the "virtual region number" on ia64) into bits 49-47. Please > include it in the next release. I have applied the patch (the version that was merged upstream), but unfortunately most of the tests are still failing. In the build log, I can count 149 FAIL!s and 42 Segmentation faults. It is much more than 57 failures you mentioned in the upstream bug [1]. Looking at the log, *most* of the tests are failing. Passing ones are mostly the qmlMinify ones, which do not use the QML engine at all. Can you please look what happened there? [1]: https://bugreports.qt.io/browse/QTBUG-56264?focusedCommentId=462440#comment-462440 -- Dmitry Shachnev signature.asc Description: PGP signature
Bug#929682: libqt5qml5: QQmlEngine segfaults on ia64
Source: qtdeclarative-opensource-src Severity: important Tags: patch User: debian-i...@lists.debian.org Usertags: ia64 Dear Maintainer, As reported in bug #894726, qtdeclarative-opensource-src has a bug on systems that use 64-bit pointers with any bits from 63-50 set. The attached patch addresses this issue on ia64 by shifting bits 63-61 (which are the "virtual region number" on ia64) into bits 49-47. Please include it in the next release. Thank you. -- System Information: Debian Release: 10.0 APT prefers unreleased APT policy: (500, 'unreleased'), (500, 'unstable') Architecture: ia64 Kernel: Linux 5.0.0-trunk-mckinley (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled --- a/src/qml/jsruntime/qv4value_p.h2019-05-24 21:55:24.436238822 -0400 +++ b/src/qml/jsruntime/qv4value_p.h2019-05-24 22:08:26.832635233 -0400 @@ -146,12 +146,24 @@ QML_NEARLY_ALWAYS_INLINE Heap::Base *m() const { Heap::Base *b; -memcpy(, &_val, 8); +#ifdef __ia64 + quint64 _tmp; + + _tmp = _val & 0x0001c000; + _tmp = (_tmp << 14) | (_val ^ _tmp); + memcpy(, &_tmp, 8); +#else + memcpy(, &_val, 8); +#endif return b; } QML_NEARLY_ALWAYS_INLINE void setM(Heap::Base *b) { memcpy(&_val, , 8); +#ifdef __ia64 + _val |= ((_val & 0xa000) >> 14); + _val &= 0x0001; +#endif } #elif QT_POINTER_SIZE == 4 QML_NEARLY_ALWAYS_INLINE Heap::Base *m() const