Bug#878196: libopenmpt0: Illegal instruction on mipsel arch

2017-10-17 Thread Guillaume Perréal

Le 16/10/2017 à 13:08, Guillaume Perréal a écrit :

Hello,

I compiled it from there :
https://gogs.librecmc.org/ldpinney/GnuBee-libreCMC, follwing openwrt
building instructions (https://wiki.openwrt.org/doc/howto/build).

I had to do a "make kernel_menuconfig" to enable the FIPS emulator. I do
not have access to the building machine right now, but I will attach the
exact .config file as soon as possible.

Guillaume.

I attached an archive with the 3 configurations files from the build:

.config is the configuration of the openwrt build,
target/linux/ramips/mt7621/config-4.4 is the base configuration for the 
kernel,
build_dir/target-mipsel_24kc_musl-1.1.16/linux-ramips_mt7621/linux-4.4.52/.config 
is the actual kernel configuration file.


Guillaume.


configs.tgz
Description: Binary data
___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Bug#878196: libopenmpt0: Illegal instruction on mipsel arch

2017-10-16 Thread Guillaume Perréal
Le 16/10/2017 à 11:55, James Cowgill a écrit :
> Hi,
>
> On 16/10/17 09:37, Guillaume Perréal wrote:
>> Hello,
>>
>> Actually the FPU emulator is already enabled in that kernel. And I can
>> confirm the bug persist using a kernel I compiled myself with these
>> options enabled.
> Where is the source for this kernel?
>
> Since I can't reproduce this bug with any of the machines Debian has
> (some of which use the kernel FPU emulator). I think it's likely this is
> a kernel or hardware bug. Unfortunately I don't think I'll be able to
> help debug it since I don't have the hardware.
>
> James
>
Hello,

I compiled it from there :
https://gogs.librecmc.org/ldpinney/GnuBee-libreCMC, follwing openwrt
building instructions (https://wiki.openwrt.org/doc/howto/build).

I had to do a "make kernel_menuconfig" to enable the FIPS emulator. I do
not have access to the building machine right now, but I will attach the
exact .config file as soon as possible.

Guillaume.

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Bug#878196: libopenmpt0: Illegal instruction on mipsel arch

2017-10-16 Thread Guillaume Perréal
Hello,

Actually the FPU emulator is already enabled in that kernel. And I can
confirm the bug persist using a kernel I compiled myself with these
options enabled.

Best Regards,
Guillaume Perréal.

Le 13/10/2017 à 21:41, Guillaume Perréal a écrit :
> Hello,
>> [...]
>>>> Kernel: Linux 4.4.52-gnu (SMP w/4 CPU cores)
>>> Where is this kernel from? I note the CPU you are using does not
>>> have an
>>> FPU, so this could be a bug in the kernel FPU emulator. I can't
>>> remember
>>> what fixes have gone in since 4.4 though.
>> This kernel is provided by the manufacturer of the board. I used this
>> binary to update the firmware :
>> https://github.com/gnubee-git/gnubee-git.github.io/blob/master/debian/librecmc-ramips-mt7621-gb-pc1-squashfs-sysupgrade_2017-07-22.bin.
>> In normal operation, only the bootloader, kernel and initramfs are
>> used. The initramfs pivots to a GNUBEE-ROOT partition if it finds
>> one. The LibreCMC distribution is only used as a fallback.
>>
>> cat /proc/version
>> Linux version 4.4.52-gnu (dgazineu@olimpo) (gcc version 5.4.0 (LEDE
>> GCC 5.4.0 r20-646beea) ) #0 SMP Wed Jul 5 16:50:03 2017
> According to
> https://wiki.openwrt.org/doc/howto/building_kernels_for_debian_binaries,
> it is quite possible that this kernel was not compiled with the FPU
> emulator at all. I will try to recompile the kernel with the FPU
> emulation and keep you informed.
>
> Best regards,
> Guillaume Perréal.

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Bug#878196: libopenmpt0: Illegal instruction on mipsel arch

2017-10-13 Thread Guillaume Perréal

Hello,

[...]

Kernel: Linux 4.4.52-gnu (SMP w/4 CPU cores)

Where is this kernel from? I note the CPU you are using does not have an
FPU, so this could be a bug in the kernel FPU emulator. I can't remember
what fixes have gone in since 4.4 though.
This kernel is provided by the manufacturer of the board. I used this 
binary to update the firmware : 
https://github.com/gnubee-git/gnubee-git.github.io/blob/master/debian/librecmc-ramips-mt7621-gb-pc1-squashfs-sysupgrade_2017-07-22.bin. 
In normal operation, only the bootloader, kernel and initramfs are 
used. The initramfs pivots to a GNUBEE-ROOT partition if it finds one. 
The LibreCMC distribution is only used as a fallback.


cat /proc/version
Linux version 4.4.52-gnu (dgazineu@olimpo) (gcc version 5.4.0 (LEDE 
GCC 5.4.0 r20-646beea) ) #0 SMP Wed Jul 5 16:50:03 2017
According to 
https://wiki.openwrt.org/doc/howto/building_kernels_for_debian_binaries, 
it is quite possible that this kernel was not compiled with the FPU 
emulator at all. I will try to recompile the kernel with the FPU 
emulation and keep you informed.


Best regards,
Guillaume Perréal.

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Bug#878196: libopenmpt0: Illegal instruction on mipsel arch

2017-10-11 Thread Guillaume Perréal

Le 11/10/2017 à 11:16, James Cowgill a écrit :

Control: tags -1 moreinfo

On 11/10/17 00:11,gperr...@free.fr  wrote:
[...]
How do you trigger this bug? If you need any module files, can you
attach them to the bug report.
I use no openmpt module. I can trigger the bug by running minidlnad on 
the command line, e.g. :


guillaume@exodus ~> /usr/sbin/minidlnad
fish: '/usr/sbin/minidlnad' terminated by signal SIGILL (Instruction 
illégale)


The same thing happens when I try to run the testsuite:

guillaume@exodus ~/s/libopenmpt-0.3.1+release.autotools> ./libopenmpttest
fish: './libopenmpttest' terminated by signal SIGILL (Instruction illégale)

Can you provide a GDB backtrace and the disassembly around the
instruction which causes the SIGILL?

I attached the traces from both minidlnad and the testsuite.

minidlnad does not directly depend on libopenmpt0, so presumably this is
triggered through ffmpeg. Can you run ffmpeg on some module files to see
if that also fails with SIGILL? Can you run openmpt123 on the same files?
According to https://packages.debian.org/stretch/minidlna, minidlnad 
depends on libavformat57, which in turn depends on libopenmpt0, so 
neither openmpt123 nor ffmpeg are involved in this bug, and I am not 
using them on any fill either.

[...]

Kernel: Linux 4.4.52-gnu (SMP w/4 CPU cores)

Where is this kernel from? I note the CPU you are using does not have an
FPU, so this could be a bug in the kernel FPU emulator. I can't remember
what fixes have gone in since 4.4 though.
This kernel is provided by the manufacturer of the board. I used this 
binary to update the firmware : 
https://github.com/gnubee-git/gnubee-git.github.io/blob/master/debian/librecmc-ramips-mt7621-gb-pc1-squashfs-sysupgrade_2017-07-22.bin. 
In normal operation, only the bootloader, kernel and initramfs are used. 
The initramfs pivots to a GNUBEE-ROOT partition if it finds one. The 
LibreCMC distribution is only used as a fallback.


cat /proc/version
Linux version 4.4.52-gnu (dgazineu@olimpo) (gcc version 5.4.0 (LEDE GCC 
5.4.0 r20-646beea) ) #0 SMP Wed Jul 5 16:50:03 2017


I can contact dgazineu if need be.

Best regards,
--
Guillaume.
guillaume@exodus ~/s/libopenmpt-0.3.1+release.autotools> gdb ./libopenmpttest
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
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 "mipsel-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./libopenmpttest...done.
(gdb) run
Starting program: 
/home/guillaume/src/libopenmpt-0.3.1+release.autotools/libopenmpttest

Program received signal SIGILL, Illegal instruction.
OpenMPT::izero (y=) at soundlib/Tables.cpp:817
817 d = d + 2; ds = ds * (y*y)/(d*d);
(gdb) backtrace
#0  OpenMPT::izero (y=) at soundlib/Tables.cpp:817
#1  OpenMPT::getsinc (
psinc=0x557adc38 
, 
beta=, lowpass_factor=0.96997)
at soundlib/Tables.cpp:844
#2  0x556e82e8 in OpenMPT::CResampler::InitializeTablesFromScratch (
this=0x5578dc10 
, 
force=) at soundlib/Tables.cpp:942
#3  0x556e856c in OpenMPT::CResampler::CResampler (fresh_generate=true,
this=0x5578dc10 
) at 
soundlib/Resampler.h:110
#4  OpenMPT::CResampler::InitializeTablesFromCache (this=0x7ffafc30)
at soundlib/Tables.cpp:971
#5  0x556e8df0 in OpenMPT::CResampler::InitializeTables (this=0x7ffafc30)
at soundlib/Resampler.h:119
#6  OpenMPT::CResampler::CResampler (fresh_generate=false, this=0x7ffafc30)
at soundlib/Resampler.h:113
#7  OpenMPT::ResampleCacheInitialzer::ResampleCacheInitialzer (
this=) at soundlib/Tables.cpp:988
#8  0x5572b3a8 in __libc_csu_init ()
Backtrace stopped: frame did not save the PC
(gdb) disas /m
Dump of assembler code for function OpenMPT::getsinc(OpenMPT::SINC_TYPE*, 
double, double):
814 double s=1, ds=1, d=0;
   0x556e793c <+128>:   lw  s3,-32728(gp)
   0x556e7940 <+132>:   lw  s4,-32728(gp)
   0x556e7944 <+136>:   lw  s5,-32732(gp)
   0x556e7948 <+140>:   ldc1$f0,24712(s3)
   0x556e794c <+144>:   mtc1zero,$f4
   0x556e7950 <+148>:   mul.d   $f10,$f30,$f30
   0x556e795c <+160>:   mthc1   zero,$f4
   0x556e7960 <+164>:   mov.d   $f28,$f0
   0x556e7a2c <+368>:   ldc1$f0,24712(s3)
   0x556e7a34 <+376>: