Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Floating Point Exception #6

Closed
xiaoxiongwang opened this issue Nov 22, 2019 · 0 comments
Closed

Floating Point Exception #6

xiaoxiongwang opened this issue Nov 22, 2019 · 0 comments
Labels
bug help wanted Cannot fix it myself, need volunteer work!

Comments

@xiaoxiongwang
Copy link
Contributor

Tested in Ubuntu 16.04, 64bit

I use the following command with the file:

./wavegain wavegain_floting_point_exception.wav

and get:

Floating point exception

I use gdb to analysis the bug and get the below information:

gdb-peda$ set args wavegain_floting_point_exception.wav
gdb-peda$ r
Starting program: wavegain wavegain_floting_point_exception.wav
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGFPE, Arithmetic exception.

[----------------------------------registers-----------------------------------]
RAX: 0x5e00e84b 
RBX: 0x7fffffffd4e0 --> 0x7fffffffd700 --> 0x7fffffffd9b0 --> 0x0 
RCX: 0x60c00000bf00 --> 0x0 
RDX: 0x0 
RSI: 0x3 
RDI: 0x0 
RBP: 0x7fffffffd500 --> 0x7fffffffd540 --> 0x7fffffffd630 --> 0x7fffffffd720 --> 0x7fffffffd9d0 --> 0x4197d0 (<__libc_csu_init>:	push   r15)
RSP: 0x7fffffffd340 --> 0xc00000002 --> 0x0 
RIP: 0x40a5cc (<wav_open+3809>:	idiv   rdi)
R8 : 0x61600000fd60 --> 0x0 
R9 : 0x7fffffffd2d0 --> 0x5e00e84b61746164 
R10: 0x7ffff7fc5780 (0x00007ffff7fc5780)
R11: 0x7ffff692bf90 --> 0xfffda370fffda09f 
R12: 0xffffffffa70 --> 0x0 
R13: 0x7fffffffd380 --> 0x41b58ab3 
R14: 0x7fffffffd380 --> 0x41b58ab3 
R15: 0x0
EFLAGS: 0x10206 (carry PARITY adjust zero sign trap INTERRUPT direction overflow)
[-------------------------------------code-------------------------------------]
   0x40a5c0 <wav_open+3797>:	imul   edx,DWORD PTR [rbp-0x19c]
   0x40a5c7 <wav_open+3804>:	movsxd rdi,edx
   0x40a5ca <wav_open+3807>:	cqo    
=> 0x40a5cc <wav_open+3809>:	idiv   rdi
   0x40a5cf <wav_open+3812>:	mov    rcx,rax
   0x40a5d2 <wav_open+3815>:	mov    rax,QWORD PTR [rbp-0x1b0]
   0x40a5d9 <wav_open+3822>:	add    rax,0x10
   0x40a5dd <wav_open+3826>:	mov    rdx,rax
[------------------------------------stack-------------------------------------]
0000| 0x7fffffffd340 --> 0xc00000002 --> 0x0 
0008| 0x7fffffffd348 --> 0x60200000eff0 --> 0xff042546464952 
0016| 0x7fffffffd350 --> 0x60c00000bf80 --> 0x40a8be (<wav_read>:	push   rbp)
0024| 0x7fffffffd358 --> 0x61600000fc80 --> 0xbebebebefbad2488 
0032| 0x7fffffffd360 --> 0x100000000 --> 0x0 
0040| 0x7fffffffd368 --> 0x60400000dfd0 --> 0xbebebebe00080000 
0048| 0x7fffffffd370 --> 0x24 ('$')
0056| 0x7fffffffd378 --> 0x0 
[------------------------------------------------------------------------------]
Legend: code, data, rodata, value
Stopped reason: SIGFPE
0x000000000040a5cc in wav_open (in=0x61600000fc80, opt=0x60c00000bf80, oldbuf=0x60200000eff0 "RIFF%\004\377", buflen=0xc) at audio.c:790
790				opt->total_samples_per_channel = len/(format.channels*samplesize);
gdb-peda$ bt
#0  0x000000000040a5cc in wav_open (in=0x61600000fc80, opt=0x60c00000bf80, oldbuf=0x60200000eff0 "RIFF%\004\377", buflen=0xc) at audio.c:790
#1  0x0000000000407833 in open_audio_file (in=0x61600000fc80, opt=0x60c00000bf80) at audio.c:362
#2  0x0000000000414ded in get_gain (filename=0x60700000df40 "wavegain_floting_point_exception.wav", track_peak=0x60600000efd8, track_gain=0x60600000efd0, dc_offset=0x60600000efe0, 
    offset=0x60600000eff0, settings=0x7fffffffd8f0) at wavegain.c:181
#3  0x000000000041198d in process_files (file_list=0x60600000efc0, settings=0x7fffffffd8f0, dir=0x41f1a0 ".") at main.c:197
#4  0x000000000041453f in main (argc=0x2, argv=0x7fffffffdab8) at main.c:729
#5  0x00007ffff67b7830 in __libc_start_main (main=0x4139ca <main>, argc=0x2, argv=0x7fffffffdab8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdaa8)
    at ../csu/libc-start.c:291
#6  0x0000000000401ce9 in _start ()
@MestreLion MestreLion added bug help wanted Cannot fix it myself, need volunteer work! labels Jul 4, 2020
MestreLion added a commit that referenced this issue Jul 5, 2020
This might shed some light on current open issues, namely #2, #5 and #6.
zvezdochiot pushed a commit to Sound-Linux-More/wavegain that referenced this issue Jul 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug help wanted Cannot fix it myself, need volunteer work!
Projects
None yet
Development

No branches or pull requests

2 participants