[Python-modules-team] Bug#917647: pythonqt 3.2-10: FTBFS, alignment problem

Steve McIntyre steve at einval.com
Sat Dec 29 18:54:44 GMT 2018


Source: pythonqt
Version: 3.2-10
Severity: important
User: debian-arm at lists.debian.org
Usertags: alignment

Hi!

I've been doing a full rebuild of the Debian archive, building all
source packages targeting armel and armhf using arm64 hardware. We are
planning in future to move all of our 32-bit armel/armhf builds to
using arm64 machines, so this rebuild is to identify packages that
might have problems with this configuration.

A feature of the arm64 kernel is that it does *not* support fixing up
code with broken alignment, so code that might have built and run OK
on our older armel/armhf build machines due to kernel fixups will now
fail.

When building your package, I've found a bus error (aka alignment
fault). The full log is online at

  https://www.einval.com/debian/arm/rebuild-logs/armel/FAIL/pythonqt_3.2-10_armel.log

for reference

I've done a quick bit of debugging to find the source of the
bug. Here's a gdb stacktrace and variable printout to demonstrate the
problem.

(sid-armel)steve at mjolnir:~/debian/build/pythonqt/pythonqt-3.2$ gdb build-generator/pythonqt_generator generator/core 
...
warning: core file may not match specified executable file.
[New LWP 25667]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabi/libthread_db.so.1".
Core was generated by `../build-generator/pythonqt_generator qtscript_masterinclude.h build_all.txt'.
Program terminated with signal SIGBUS, Bus error.
#0  rpp::pp_string<char>::pp_string (__size=1, __begin=<optimized out>, this=<optimized out>) at ../generator/parser/rpp/pp-string.h:63
63        inline pp_string (_CharT const *__begin, std::size_t __size):
(gdb) bt
#0  rpp::pp_string<char>::pp_string (__size=1, __begin=<optimized out>, this=<optimized out>) at ../generator/parser/rpp/pp-string.h:63
#1  rpp::pp_symbol::get<char const*> (__first=<optimized out>, __last=<optimized out>) at ../generator/parser/rpp/pp-symbol.h:90
#2  0x00a53bcc in rpp::pp::handle_define<char const*> (this=0xffcfc988, 
    __first=0x183c153 "a)\n#define Q_FLAG(a)\n#define Q_PRIVATE_SLOT(a, b)\n#define Q_DECLARE_INTERFACE(a,b)\n#define Q_INTERFACES(a)\n#define Q_GADGET\n#define Q_OVERRIDE(a)\n#define Q_OS_OS2\n#define Q_NO_USING_KEYWORD\n\n// There "..., 
    __last=0x183c155 "\n#define Q_FLAG(a)\n#define Q_PRIVATE_SLOT(a, b)\n#define Q_DECLARE_INTERFACE(a,b)\n#define Q_INTERFACES(a)\n#define Q_GADGET\n#define Q_OVERRIDE(a)\n#define Q_OS_OS2\n#define Q_NO_USING_KEYWORD\n\n// There ar"...) at ../generator/parser/rpp/pp-cctype.h:53
#3  0x00a62a64 in rpp::pp::operator()<char const*, rpp::pp_null_output_iterator> (this=0xffcfc988, 
    __first=0x183c155 "\n#define Q_FLAG(a)\n#define Q_PRIVATE_SLOT(a, b)\n#define Q_DECLARE_INTERFACE(a,b)\n#define Q_INTERFACES(a)\n#define Q_GADGET\n#define Q_OVERRIDE(a)\n#define Q_OS_OS2\n#define Q_NO_USING_KEYWORD\n\n// There ar"..., __last=0x183c281 "", __result=...)
    at /usr/include/c++/8/bits/stl_algobase.h:446
#4  0x00a6435c in Preprocess::preprocess (sourceFile=..., targetFile=..., commandLineIncludes=...)
    at /usr/include/arm-linux-gnueabi/qt5/QtCore/qbytearray.h:471
#5  0x00a207f4 in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/arm-linux-gnueabi/qt5/QtCore/qarraydata.h:255
(gdb) list
58          _M_begin (0), _M_size(0) {}
59
60        explicit pp_string (std::string const &__s):
61          _M_begin (__s.c_str ()), _M_size (__s.size ()) {}
62
63        inline pp_string (_CharT const *__begin, std::size_t __size):
64          _M_begin (__begin), _M_size (__size) {}
65
66        inline _CharT const *begin () const { return _M_begin; }
67        inline _CharT const *end () const { return _M_begin + _M_size; }


-- System Information:
Debian Release: 9.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



More information about the Python-modules-team mailing list