Your message dated Tue, 04 Feb 2025 03:51:39 +0000
with message-id <e1tf9yn-000kfw...@fasolo.debian.org>
and subject line Bug#1094807: Removed package(s) from unstable
has caused the Debian Bug report #840354,
regarding src:pcre3: FTBFS on powerpc (G4 CPU)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
840354: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840354
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: src:pcre3
Version: 2:8.39-2
Severity: important
Usertag: debian-powe...@lists.debian.org

Dear Maintainer,

Rebuilding syslog-ng 3.7.3-3 on a PowerMac G4 failed with SIGILL,
debugging led to libpcre, and finally rebuilding src:pcre3 itself
fails with very similar symptoms:

(...)
/usr/bin/make  check-TESTS
make[3]: Entering directory '/tmp/pcre3/pcre3-8.39'
make[4]: Entering directory '/tmp/pcre3/pcre3-8.39'
./test-driver: line 107: 12195 Illegal instruction     "$@" > $log_file 2>&1
FAIL: pcre_jit_test
PASS: pcrecpp_unittest
PASS: pcre_scanner_unittest
(...)

The failing program is .libs/lt-pcre_jit_test. Using gdb is no help at
all, the failures happen at a different point every invocation:

Program received signal SIGILL, Illegal instruction.
0xb7faf0ec in ?? ()
(gdb) bt
#0  0xb7faf0ec in ?? ()
#1  0x1ff30718 in ?? ()
#2  0x1ff30718 in ?? ()
#3  0x1ff0adf4 in ?? ()
#4  0x200061c8 in ?? ()
#5  0x20004a3c in ?? ()
#6  0x1fc97274 in ?? ()
#7  0x1fc9747c in ?? ()
#8  0x00000000 in ?? ()
(gdb) disassemble 0xb7faf0ec,0xb7faf0ff
Dump of assembler code from 0xb7faf0ec to 0xb7faf0ff:
=> 0xb7faf0ec:  li      r3,-1
   0xb7faf0f0:  addi    r5,r30,6
   0xb7faf0f4:  cmplw   cr1,r5,r29
   0xb7faf0f8:  bgt     cr1,0xb7faf1b8
   0xb7faf0fc:  lwz     r5,36(r1)

Program received signal SIGILL, Illegal instruction.
0xb7fe5008 in ?? ()
(gdb) bt
#0  0xb7fe5008 in ?? ()
#1  0x1ffb8b80 in ?? ()
#2  0x1ff91820 in ?? ()
#3  0x20006110 in ?? ()
#4  0x20004a3c in ?? ()
#5  0x1fc97274 in ?? ()
#6  0x1fc9747c in ?? ()
#7  0x00000000 in ?? ()
(gdb) disassemble 0xb7fe5008,0xb7fe5020
Dump of assembler code from 0xb7fe5008 to 0xb7fe5020:
=> 0xb7fe5008:  mflr    r0
   0xb7fe500c:  stw     r31,-4(r1)
   0xb7fe5010:  stw     r30,-8(r1)
   0xb7fe5014:  stw     r29,-12(r1)
   0xb7fe5018:  stw     r28,-16(r1)
   0xb7fe501c:  stw     r27,-20(r1)

Program received signal SIGILL, Illegal instruction.
0xb7faf060 in ?? ()
(gdb) bt
#0  0xb7faf060 in ?? ()
#1  0x1ff30718 in ?? ()
#2  0x1ff30718 in ?? ()
#3  0x1ff0adf4 in ?? ()
#4  0x200061c8 in ?? ()
#5  0x20004a3c in ?? ()
#6  0x1fc97274 in ?? ()
#7  0x1fc9747c in ?? ()
#8  0x00000000 in ?? ()
(gdb) disassemble 0xb7faf060,0xb7faf070
Dump of assembler code from 0xb7faf060 to 0xb7faf070:
=> 0xb7faf060:  lwz     r28,8(r5)
   0xb7faf064:  addi    r3,r3,1
   0xb7faf068:  stw     r3,32(r1)
   0xb7faf06c:  b       0xb7faf0cc


My last rebuild of syslog-ng in July, using pcre3 version 2:8.38-3.1,
succeded. Therefore I guess it's the changes between 8.38 and 8.39.
Very likely this was introduced by the changes in the ppc_jit code
which unfortunately I was unable to understand.

Disabling jit for powerpc using the following patch:

--- pcre3-8.39.orig/sljit/sljitConfigInternal.h
+++ pcre3-8.39/sljit/sljitConfigInternal.h
@@ -135,11 +135,7 @@
 #elif defined(__ppc64__) || defined(__powerpc64__) || defined(_ARCH_PPC64) || 
(defined(_POWER) && defined(__64BIT__))
 #define SLJIT_CONFIG_PPC_64 1
 #elif defined(__ppc__) || defined(__powerpc__) || defined(_ARCH_PPC) || 
defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER)
-# ifndef __NO_FPRS__
-#  define SLJIT_CONFIG_PPC_32 1
-# else
 #  define SLJIT_CONFIG_UNSUPPORTED 1
-# endif
 #elif defined(__mips__) && !defined(_LP64)
 #define SLJIT_CONFIG_MIPS_32 1
 #elif defined(__mips64)

resulted in a successful pcre3 build, and using the created packages
also syslog-ng passes the failing test again.


So I'm asking you to bring this upstream to sort out how the breakage
was introduced. From other bug reports I guess the created code uses
G5 instructions; the Debian powerpc buildds didn't notice as they
actually are such newer boxes.

As a hopefully temporary workaround you could disable jit for powerpc,
of course a the cost of a performance penalty.

    Christoph

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: powerpc (ppc)

Kernel: Linux 4.4.23
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Version: 2:8.39-15.1+rm

Dear submitter,

as the package pcre3 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/1094807

The version of this package that was in Debian prior to this removal
can still be found using https://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmas...@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Paul Tagliamonte (the ftpmaster behind the curtain)

--- End Message ---

Reply via email to