Re: SIGFPE

Ramana Radhakrishnan
2008-11-12T05:19:52Z

On Wed, Nov 12, 2008 at 5:09 AM, Stefan Adams
<stefan@cogentinnovators.com> wrote:
> Thanks! Where can I go to get info on how to debug an app using gdb?

The GDB reference manual is a good start.

http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html

Make sure you are building pulseaudio with -g or friends for debug
information to appear in the executable. You need that for source
level debug. From your mail it appears that pulseaudio is a stripped
out executable. First try and debug some small programs using gdb and
commands. The most useful commands to start with are backtrace and
print to start with to inspect program state when things crash.

Best of luck.

Also , you might do well to get a later version of gdb - 6.3 is old ,
6.8 is the latest and greatest though 6.3 should work in most cases.

cheers
Ramana

>
> Below is the output of a bt.
>
> # more /tmp/gdb
> GNU gdb 6.3
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu"...Using host
> libthread_db library "/lib/libthread_db.so.1".
>
> (gdb) r
> Starting program: /bin/pulseaudio
>
> Program received signal SIGFPE, Arithmetic exception.
> 0xb7f677ae in ?? ()
> (gdb) bt
> #0 0xb7f677ae in ?? ()
> #1 0xb7b739f8 in ?? ()
> #2 0xbfc06830 in ?? ()
> #3 0xbfc06a70 in ?? ()
> #4 0xb7f69cef in ?? ()
> #5 0x00000000 in ?? ()
> :
> #1512 0x6c75702f in ?? ()
> #1513 0x75616573 in ?? ()
> #1514 0x006f6964 in ?? ()
> #1515 0x00000000 in ?? ()
> (gdb) q
>
>
> On Tue, Nov 11, 2008 at 11:05 PM, Ramana Radhakrishnan
> <ramana.r@gmail.com> wrote:
>> On Wed, Nov 12, 2008 at 4:38 AM, Stefan Adams <stefan@borgia.com> wrote:
>>> I'm trying to compile a package of pulseaudio for thinstation. I've
>>> done that and it's apparently successful because there were no errors
>>> during compile.
>>>
>>> I boot up thinstation and try to run pulseaudio and I get this
>>> horribly worthless message: "Floating point exception"
>>> That's it! All by itself! How can I proceed to solve the problem?
>>> Is it in pulseaudio? Is it in one of the other libraries that I had
>>> to compile? All compiling was done within the RUNME chroot
>>> environment provided by thinstation_src.
>>>
>>> Do you think thinstation or pulseaudio groups may be able to help, or
>>> am I going to have to debug the problem myself? If the latter, *any*
>>> suggestions would be most welcome!!
>>>
>>> # /bin/pulseaudio
>>> Floating point exception
>>>
>>> # ldd /bin/pulseaudio
>>> linux-gate.so.1 => (0xffffe000)
>>> libpulsecore.so.8 => /lib/libpulsecore.so.8 (0xb7ed6000)
>>> libltdl.so.3 => /lib/libltdl.so.3 (0xb7ece000)
>>> libsamplerate.so.0 => /lib/libsamplerate.so.0 (0xb7d65000)
>>> libspeex.so.1 => /lib/libspeex.so.1 (0xb7d52000)
>>> libspeexdsp.so.1 => /lib/libspeexdsp.so.1 (0xb7d44000)
>>> libsndfile.so.1 => /lib/libsndfile.so.1 (0xb7bb5000)
>>> liboil-0.3.so.0 => /lib/liboil-0.3.so.0 (0xb7b57000)
>>> libgdbm.so.3 => /lib/libgdbm.so.3 (0xb7b51000)
>>> librt.so.1 => /lib/librt.so.1 (0xb7b3e000)
>>> libdl.so.2 => /lib/libdl.so.2 (0xb7b3a000)
>>> libm.so.6 => /lib/libm.so.6 (0xb7b19000)
>>> libpthread.so.0 => /lib/libpthread.so.0 (0xb7b08000)
>>> libc.so.6 => /lib/libc.so.6 (0xb7a18000)
>>> /lib/ld-linux.so.2 (0xb7f44000)
>>>
>>> # gdb /bin/pulseaudio
>>> GNU gdb 6.3
>>> Copyright 2004 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, and you are
>>> welcome to change it and/or distribute copies of it under certain conditions.
>>> Type "show copying" to see the conditions.
>>> There is absolutely no warranty for GDB. Type "show warranty" for details.
>>> This GDB was configured as "i686-pc-linux-gnu"...Using host
>>> libthread_db library "/lib/libthread_db.so.1".
>>>
>>> (gdb) r
>>> Starting program: /bin/pulseaudio
>>>
>>> Program received signal SIGFPE, Arithmetic exception.
>>> 0xb7f157ae in ?? ()
>>>
>>>
>>
>> Try doing a backtrace (bt) at this point and look at where the
>> exception was caused in source if you have a debug build on.. If you
>> want to talk about pulseaudio code then you should go to those lists.
>> This list is for discussions about gdb and its internals.
>>
>>
>> cheers
>> Ramana
>>
>