Control: affects -1 + minidlna

The same bug affects minidlna:

uwe@crater:~$ gdb /usr/sbin/minidlnad
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/minidlnad...
Reading symbols from 
/usr/lib/debug/.build-id/8d/c7b33336b6d717dcb1c814fff9a3e5a4dba526.debug...
(gdb) run
Starting program: /usr/sbin/minidlnad
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
hwy::(anonymous namespace)::robust_statistics::CountingSort<unsigned long long> 
(values=0xbeffecb8, num_values=256)
    at ./hwy/nanobenchmark.cc:214
214     ./hwy/nanobenchmark.cc: No such file or directory.
(gdb) disassemble
Dump of assembler code for function hwy::(anonymous 
namespace)::robust_statistics::CountingSort<unsigned long long>(unsigned long 
long*, size_t):
   0xb546afb0 <+0>:     stmdb   sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
   0xb546afb4 <+4>:     mov     r9, r1
   0xb546afb6 <+6>:     ldr     r1, [pc, #492]  @ (0xb546b1a4 <hwy::(anonymous 
namespace)::robust_statistics::CountingSort<unsigned long long>(unsigned long 
long*, size_t)+500>)
   0xb546afb8 <+8>:     sub     sp, #52 @ 0x34
   0xb546afba <+10>:    ldr     r2, [pc, #492]  @ (0xb546b1a8 <hwy::(anonymous 
namespace)::robust_statistics::CountingSort<unsigned long long>(unsigned long 
long*, size_t)+504>)
   0xb546afbc <+12>:    add     r1, pc
=> 0xb546afbe <+14>:    vmov.i32        d16, #0 @ 0x00000000
   0xb546afc2 <+18>:    movs    r6, #0
   0xb546afc4 <+20>:    str     r6, [sp, #16]
   0xb546afc6 <+22>:    ldr     r2, [r1, r2]
   0xb546afc8 <+24>:    ldr     r2, [r2, #0]
   0xb546afca <+26>:    str     r2, [sp, #44]   @ 0x2c
   0xb546afcc <+28>:    mov.w   r2, #0
   0xb546afd0 <+32>:    vstr    d16, [sp, #8]
   0xb546afd4 <+36>:    cmp.w   r9, #0
   0xb546afd8 <+40>:    beq.w   0xb546b180 <hwy::(anonymous 
namespace)::robust_statistics::CountingSort<unsigned long long>(unsigned long 
long*, size_t)+464>
   0xb546afdc <+44>:    mov     r4, r0
   0xb546afde <+46>:    mov     r5, r6
   0xb546afe0 <+48>:    mov     r8, r6
   0xb546afe2 <+50>:    mov.w   r10, #1
   0xb546afe6 <+54>:    add.w   r11, sp, #24
   0xb546afea <+58>:    sub.w   r3, r0, #8
   0xb546afee <+62>:    str     r3, [sp, #4]
   0xb546aff0 <+64>:    ldr     r2, [sp, #4]
   0xb546aff2 <+66>:    subs    r3, r5, r6
   0xb546aff4 <+68>:    mov.w   r12, r3, asr #6
   0xb546aff8 <+72>:    asrs    r0, r3, #4
   0xb546affa <+74>:    ldr.w   r1, [r2, #8]!
   0xb546affe <+78>:    cmp.w   r12, #0
   0xb546b002 <+82>:    str     r2, [sp, #4]
   0xb546b004 <+84>:    ldr     r2, [r2, #4]
   0xb546b006 <+86>:    ble.w   0xb546b19a <hwy::(anonymous 
namespace)::robust_statistics::CountingSort<unsigned long long>(unsigned long 
long*, size_t)+490>
   0xb546b00a <+90>:    add.w   r12, r6, r12, lsl #6
   0xb546b00e <+94>:    mov     r3, r6
   0xb546b010 <+96>:    b.n     0xb546b03c <hwy::(anonymous 
namespace)::robust_statistics::CountingSort<unsigned long long>(unsigned long 
long*, size_t)+140>
   0xb546b012 <+98>:    ldrd    r0, r7, [r3, #16]
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) bt
#0  hwy::(anonymous namespace)::robust_statistics::CountingSort<unsigned long 
long> (values=0xbeffecb8, num_values=256)
    at ./hwy/nanobenchmark.cc:214
#1  0xb546b256 in hwy::(anonymous namespace)::robust_statistics::Mode<unsigned 
long long> (num_values=256, values=0xbeffecb8)
    at ./hwy/nanobenchmark.cc:286
#2  hwy::(anonymous namespace)::robust_statistics::Mode<unsigned long long, 
256> (values=...) at ./hwy/nanobenchmark.cc:292
#3  hwy::platform::TimerResolution () at ./hwy/nanobenchmark.cc:480
#4  0xb5469e0e in __static_initialization_and_destruction_0 (__priority=65535, 
__initialize_p=1) at ./hwy/nanobenchmark.cc:488
#5  _GLOBAL__sub_I_nanobenchmark.cc(void) () at ./hwy/nanobenchmark.cc:763
#6  0xb6fe444c in call_init (env=0xbefff53c, argv=0xbefff534, argc=1, 
l=<optimized out>) at dl-init.c:70
#7  call_init (l=<optimized out>, argc=1, argv=0xbefff534, env=0xbefff53c) at 
dl-init.c:26
#8  0xb6fe44f2 in _dl_init (main_map=0xb6fffa68, argc=1, argv=0xbefff534, 
env=0xbefff53c) at dl-init.c:117
#9  0xb6ff17cc in _dl_start_user () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

I installed 1.0.5~git20230620.ed184dc-3 from expermental, that doesn't
fix the problem.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature

Reply via email to