All of lore.kernel.org
 help / color / mirror / Atom feed
* floating point exception
@ 2002-01-13 12:43 Christian Thalinger
  2002-01-15 23:28 ` Brian Gerst
  0 siblings, 1 reply; 38+ messages in thread
From: Christian Thalinger @ 2002-01-13 12:43 UTC (permalink / raw)
  To: linux-kernel

Hi!

Just downloaded again, after a long time, the setiathome client. I
wanted to look how smooth my tyan dual works. So i started the client
and after a few seconds it gets and `floating point exception'. No
problem till now, cause it seems to be seti bug. Ok. 

Right after that my window manager segfaults. Ok, switch to console,
restart it and go. No! Can't start any programs anymore, no login. All
tasks die one after the other, up to the complete lock of the machine.
Even alt-sysrq doesn't work.

So, this is kernel 2.4.17 and i'll try other kernels right after this
email.

Anyone knows what's going on?



^ permalink raw reply	[flat|nested] 38+ messages in thread

* floating point exception
@ 2002-01-14 10:56 Zwane Mwaikambo
  2002-01-14 21:26 ` Christian Thalinger
  0 siblings, 1 reply; 38+ messages in thread
From: Zwane Mwaikambo @ 2002-01-14 10:56 UTC (permalink / raw)
  To: Linux Kernel

>Right after that my window manager segfaults. Ok, switch to console,
>restart it and go. No! Can't start any programs anymore, no login. All
>tasks die one after the other, up to the complete lock of the machine.
>Even alt-sysrq doesn't work.

Can you reproduce the problem with some degree of success? (2/5 is fine)

Regards,
	Zwane Mwaikambo




^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-14 10:56 floating " Zwane Mwaikambo
@ 2002-01-14 21:26 ` Christian Thalinger
  2002-01-15 14:34   ` Zwane Mwaikambo
  0 siblings, 1 reply; 38+ messages in thread
From: Christian Thalinger @ 2002-01-14 21:26 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: Linux Kernel

On Mon, 2002-01-14 at 11:56, Zwane Mwaikambo wrote:
> >Right after that my window manager segfaults. Ok, switch to console,
> >restart it and go. No! Can't start any programs anymore, no login. All
> >tasks die one after the other, up to the complete lock of the machine.
> >Even alt-sysrq doesn't work.
> 
> Can you reproduce the problem with some degree of success? (2/5 is fine)
> 
> Regards,
> 	Zwane Mwaikambo
> 

After a little bit of testing i would say yes. 2-3 out of 5 with kernel
2.4.17 and 2.4.18-pre3. Mainly with X, got some without X.

It seems the floating point exception is only raised with a new data
package. Is there a simple way to raise such a exception?


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-14 21:26 ` Christian Thalinger
@ 2002-01-15 14:34   ` Zwane Mwaikambo
  2002-01-15 14:46     ` Richard B. Johnson
  2002-01-15 18:19     ` Christian Thalinger
  0 siblings, 2 replies; 38+ messages in thread
From: Zwane Mwaikambo @ 2002-01-15 14:34 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: Linux Kernel

On 14 Jan 2002, Christian Thalinger wrote:

> It seems the floating point exception is only raised with a new data
> package. Is there a simple way to raise such a exception?

New data package? And does the same behaviour re-occur after the fpu
exception? ie programs start segfaulting etc. Can you try doing a "dmesg"
after the segfaults and fpu exception and see if there is anything in the
kernel ring buffer too.

Regards,
	Zwane Mwaikambo



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-15 14:34   ` Zwane Mwaikambo
@ 2002-01-15 14:46     ` Richard B. Johnson
  2002-01-15 18:19     ` Christian Thalinger
  1 sibling, 0 replies; 38+ messages in thread
From: Richard B. Johnson @ 2002-01-15 14:46 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: Christian Thalinger, Linux Kernel

On Tue, 15 Jan 2002, Zwane Mwaikambo wrote:

> On 14 Jan 2002, Christian Thalinger wrote:
> 
> > It seems the floating point exception is only raised with a new data
> > package. Is there a simple way to raise such a exception?
> 
> New data package? And does the same behaviour re-occur after the fpu
> exception? ie programs start segfaulting etc. Can you try doing a "dmesg"
> after the segfaults and fpu exception and see if there is anything in the
> kernel ring buffer too.
> 
> Regards,
> 	Zwane Mwaikambo


This will allow you to generate some math-errors and see if everything
works okay. By default, upon process creation, math errors like
/0 are masked.

/*
 *  Note FPU control only exists per process. Therefore, you have
 *  to set up the FPU before you use it in any program.
 */
#include <i386/fpu_control.h>

#define FPU_MASK (_FPU_MASK_IM |\
                  _FPU_MASK_DM |\
                  _FPU_MASK_ZM |\
                  _FPU_MASK_OM |\
                  _FPU_MASK_UM |\
                  _FPU_MASK_PM)

void fpu()
{
    __setfpucw(_FPU_DEFAULT & ~FPU_MASK);
}


main() {
   double zero=0.0;
   double one=1.0;
   fpu();

   one /=zero;
}



Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

    I was going to compile a list of innovations that could be
    attributed to Microsoft. Once I realized that Ctrl-Alt-Del
    was handled in the BIOS, I found that there aren't any.



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-15 14:34   ` Zwane Mwaikambo
  2002-01-15 14:46     ` Richard B. Johnson
@ 2002-01-15 18:19     ` Christian Thalinger
  2002-01-15 18:31       ` Richard B. Johnson
  2002-01-16  5:45       ` Zwane Mwaikambo
  1 sibling, 2 replies; 38+ messages in thread
From: Christian Thalinger @ 2002-01-15 18:19 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: linux-kernel, Richard B. Johnson

On Tue, 2002-01-15 at 15:34, Zwane Mwaikambo wrote:
> On 14 Jan 2002, Christian Thalinger wrote:
> 
> > It seems the floating point exception is only raised with a new data
> > package. Is there a simple way to raise such a exception?
> 
> New data package? And does the same behaviour re-occur after the fpu
> exception? ie programs start segfaulting etc. Can you try doing a "dmesg"
> after the segfaults and fpu exception and see if there is anything in the
> kernel ring buffer too.
> 
> Regards,
> 	Zwane Mwaikambo
> 

There are .sah files, in which the data is stored to analyse. So i
deleted these files and the client downloads a new package -> new data
package.

Yes, it did happen that the segfault reoccured and there is nothing in
the dmesg. This was also my first thought, then checked
/var/log/messages with a tail and it stucked. No ctrl-c.

Tried this:

#define _GNU_SOURCE 1
#include <fenv.h>

main() {
    double zero=0.0;
    double one=1.0;
    
    feenableexcept(FE_ALL_EXCEPT);
    
    one /=zero;
}

...but nothing happens.


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-15 18:19     ` Christian Thalinger
@ 2002-01-15 18:31       ` Richard B. Johnson
  2002-01-15 18:49         ` Christian Thalinger
  2002-01-16  5:45       ` Zwane Mwaikambo
  1 sibling, 1 reply; 38+ messages in thread
From: Richard B. Johnson @ 2002-01-15 18:31 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: Zwane Mwaikambo, linux-kernel

On 15 Jan 2002, Christian Thalinger wrote:

> On Tue, 2002-01-15 at 15:34, Zwane Mwaikambo wrote:
> > On 14 Jan 2002, Christian Thalinger wrote:
[SNIPPED...]

> 
> Tried this:
> 
> #define _GNU_SOURCE 1
> #include <fenv.h>
> 
> main() {
>     double zero=0.0;
>     double one=1.0;
>     
>     feenableexcept(FE_ALL_EXCEPT);
>     
>     one /=zero;
> }
> 
Well, that won't even link. The source I showed previously
compiles and link fine. It also shows a FPU exception when
one divides by zero:

Script started on Tue Jan 15 13:27:05 2002
# gcc -o zzz zzz.c -lm
/tmp/ccjhyGHj.o: In function `main':
/tmp/ccjhyGHj.o(.text+0x25): undefined reference to `feenableexcept'
collect2: ld returned 1 exit status
# gcc -o zzz fpu.c
# zzz
Floating point exception (core dumped)
# cat fpu.c
/*
 *  Note FPU control only exists per process. Therefore, you have
 *  to set up the FPU before you use it in any program.
 */
#include <i386/fpu_control.h>

#define FPU_MASK (_FPU_MASK_IM |\
                  _FPU_MASK_DM |\
                  _FPU_MASK_ZM |\
                  _FPU_MASK_OM |\
                  _FPU_MASK_UM |\
                  _FPU_MASK_PM)

void fpu()
{
    __setfpucw(_FPU_DEFAULT & ~FPU_MASK);
}


main() {
   double zero=0.0;
   double one=1.0;
   fpu();

   one /=zero;
}

# cat zzz.c

#define _GNU_SOURCE 1
#include <fenv.h>

main() {
    double zero=0.0;
    double one=1.0;
    
    feenableexcept(FE_ALL_EXCEPT);
    
    one /=zero;
}


You have new mail in /var/spool/mail/root
# exit
exit

Script done on Tue Jan 15 13:28:32 2002



Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

    I was going to compile a list of innovations that could be
    attributed to Microsoft. Once I realized that Ctrl-Alt-Del
    was handled in the BIOS, I found that there aren't any.



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-15 18:31       ` Richard B. Johnson
@ 2002-01-15 18:49         ` Christian Thalinger
  0 siblings, 0 replies; 38+ messages in thread
From: Christian Thalinger @ 2002-01-15 18:49 UTC (permalink / raw)
  To: Richard B. Johnson; +Cc: Zwane Mwaikambo, linux-kernel

On Tue, 2002-01-15 at 19:31, Richard B. Johnson wrote:
> On 15 Jan 2002, Christian Thalinger wrote:
> 
> > On Tue, 2002-01-15 at 15:34, Zwane Mwaikambo wrote:
> > > On 14 Jan 2002, Christian Thalinger wrote:
> [SNIPPED...]
> 
> > 
> > Tried this:
> > 
> > #define _GNU_SOURCE 1
> > #include <fenv.h>
> > 
> > main() {
> >     double zero=0.0;
> >     double one=1.0;
> >     
> >     feenableexcept(FE_ALL_EXCEPT);
> >     
> >     one /=zero;
> > }
> > 
> Well, that won't even link. The source I showed previously
> compiles and link fine. It also shows a FPU exception when
> one divides by zero:
> 
> Script started on Tue Jan 15 13:27:05 2002
> # gcc -o zzz zzz.c -lm
> /tmp/ccjhyGHj.o: In function `main':
> /tmp/ccjhyGHj.o(.text+0x25): undefined reference to `feenableexcept'
> collect2: ld returned 1 exit status

This depends on the libc version. Seems you have 2.1. For me it's 2.2.

[root@sector17:/root/src]# cat fpu-exception.c
#define _GNU_SOURCE 1
#include <fenv.h>

main() {
    double zero=0.0;
    double one=1.0;
    
    feenableexcept(FE_ALL_EXCEPT);
    
    one /=zero;
}
[root@sector17:/root/src]# gcc -Wall -lm -o fpu-exception
fpu-exception.c
fpu-exception.c:4: warning: return type defaults to `int'
fpu-exception.c: In function `main':
fpu-exception.c:11: warning: control reaches end of non-void function
[root@sector17:/root/src]# ./fpu-exception  
Floating point exception
[root@sector17:/root/src]# 



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-13 12:43 Christian Thalinger
@ 2002-01-15 23:28 ` Brian Gerst
  2002-01-16 11:45   ` Christian Thalinger
  0 siblings, 1 reply; 38+ messages in thread
From: Brian Gerst @ 2002-01-15 23:28 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: linux-kernel

Christian Thalinger wrote:
> 
> Hi!
> 
> Just downloaded again, after a long time, the setiathome client. I
> wanted to look how smooth my tyan dual works. So i started the client
> and after a few seconds it gets and `floating point exception'. No
> problem till now, cause it seems to be seti bug. Ok.
> 
> Right after that my window manager segfaults. Ok, switch to console,
> restart it and go. No! Can't start any programs anymore, no login. All
> tasks die one after the other, up to the complete lock of the machine.
> Even alt-sysrq doesn't work.
> 
> So, this is kernel 2.4.17 and i'll try other kernels right after this
> email.
> 
> Anyone knows what's going on?

What CPU do you have?  Do you have the FPU emulator compiled in?  Are
there any oops messages?

--
						Brian Gerst

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-15 18:19     ` Christian Thalinger
  2002-01-15 18:31       ` Richard B. Johnson
@ 2002-01-16  5:45       ` Zwane Mwaikambo
  2002-01-16 11:55         ` Christian Thalinger
  1 sibling, 1 reply; 38+ messages in thread
From: Zwane Mwaikambo @ 2002-01-16  5:45 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: linux-kernel, Richard B. Johnson

On 15 Jan 2002, Christian Thalinger wrote:

> Yes, it did happen that the segfault reoccured and there is nothing in
> the dmesg. This was also my first thought, then checked
> /var/log/messages with a tail and it stucked. No ctrl-c.

ctrl-alt-sysrq k? I'd just like to know wether your box hung completely.
Could you also run the ver_linux script in linux_scripts so that we can
get a better idea of your operating environment.

Cheers,
	Zwane Mwaikambo



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-15 23:28 ` Brian Gerst
@ 2002-01-16 11:45   ` Christian Thalinger
  2002-01-16 11:58     ` Dave Jones
  2002-01-16 13:52     ` Brian Gerst
  0 siblings, 2 replies; 38+ messages in thread
From: Christian Thalinger @ 2002-01-16 11:45 UTC (permalink / raw)
  To: Brian Gerst; +Cc: linux-kernel

On Wed, 2002-01-16 at 00:28, Brian Gerst wrote:
> What CPU do you have?  Do you have the FPU emulator compiled in?  Are
> there any oops messages?
> 
> --
> 						Brian Gerst
> 

I mentioned in my first mail the dual tyan, so athlon xp, no fpu
emulator ;-) and no oops messages.


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16  5:45       ` Zwane Mwaikambo
@ 2002-01-16 11:55         ` Christian Thalinger
  2002-01-16 14:32           ` Zwane Mwaikambo
  0 siblings, 1 reply; 38+ messages in thread
From: Christian Thalinger @ 2002-01-16 11:55 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: linux-kernel, Richard B. Johnson

On Wed, 2002-01-16 at 06:45, Zwane Mwaikambo wrote:
> On 15 Jan 2002, Christian Thalinger wrote:
> 
> > Yes, it did happen that the segfault reoccured and there is nothing in
> > the dmesg. This was also my first thought, then checked
> > /var/log/messages with a tail and it stucked. No ctrl-c.
> 
> ctrl-alt-sysrq k? I'd just like to know wether your box hung completely.
> Could you also run the ver_linux script in linux_scripts so that we can
> get a better idea of your operating environment.
> 
> Cheers,
> 	Zwane Mwaikambo
> 
> 

What i got at my last exception (started the client in tty1):

Listened to an mp3 with mpg123. After the exception the mp3 got in the
_he_my_system_is_completely_locked loop. Couldn't kill the process.
System was respondable, console switching was ok. Changed to console to
tty2 where X was running - crtl-c - X went down -> console switching
wasn't possible anymore.

ctrl-alt-sysrq was responding but only with the line:

SysRq : Enmergency sync
SysRq : .... (tried also the other ones)

but nothing happend. No syncing, no unmount and showtasks. Right now i
noticed that showTasks, mem and pc do not give _any_ output, but syncing
works.

I'll do further testing when i'm back from work.

Gnu C                  3.0.3
Gnu make               3.79.1
util-linux             2.11m
mount                  2.11h
modutils               2.4.11
e2fsprogs              1.25
reiserfsprogs          3.x.0b
Linux C Library        2.2.4
Dynamic linker (ldd)   2.2.4
Linux C++ Library      3.0.2
Procps                 2.0.7
Net-tools              1.60
Console-tools          0.2.3
Sh-utils               2.0.11
Modules Loaded         NVdriver sym53c8xx scsi_mod pwcx-i386 pwc rio500
usb-ohci
 usbcore w83781d eeprom i2c-proc i2c-amd756 i2c-isa binfmt_misc
binfmt_aout ospm
_processor ospm_system ospm_busmgr sercontrol lirc_i2c lirc_dev tuner
tvaudio ms
p3400 bttv videodev i2c-algo-bit i2c-core nfsd lockd sunrpc parport_pc
lp parpor
t via-rhine emu10k1 sound ac97_codec soundcore rtc



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 11:45   ` Christian Thalinger
@ 2002-01-16 11:58     ` Dave Jones
  2002-01-16 13:14       ` Bruce Harada
  2002-01-16 13:52     ` Brian Gerst
  1 sibling, 1 reply; 38+ messages in thread
From: Dave Jones @ 2002-01-16 11:58 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: Brian Gerst, linux-kernel

On 16 Jan 2002, Christian Thalinger wrote:

> I mentioned in my first mail the dual tyan, so athlon xp, no fpu
> emulator ;-) and no oops messages.

Dual Athlon XP problem. Thanks for playing.

-- 
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 11:58     ` Dave Jones
@ 2002-01-16 13:14       ` Bruce Harada
  2002-01-16 20:06         ` Christian Thalinger
  2002-01-17 19:26         ` bill davidsen
  0 siblings, 2 replies; 38+ messages in thread
From: Bruce Harada @ 2002-01-16 13:14 UTC (permalink / raw)
  To: Dave Jones; +Cc: e9625286, linux-kernel

On Wed, 16 Jan 2002 12:58:35 +0100 (CET)
Dave Jones <davej@suse.de> wrote:

> On 16 Jan 2002, Christian Thalinger wrote:
> 
> > I mentioned in my first mail the dual tyan, so athlon xp, no fpu
> > emulator ;-) and no oops messages.
> 
> Dual Athlon XP problem. Thanks for playing.

Interesting. That's the first actual report I've seen of problems caused by
using XPs instead of MPs. I'd been wondering if I could get away with XPs for
my next SMP box; now I know better ;)


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 11:45   ` Christian Thalinger
  2002-01-16 11:58     ` Dave Jones
@ 2002-01-16 13:52     ` Brian Gerst
  2002-01-16 14:28       ` M. Edward (Ed) Borasky
  1 sibling, 1 reply; 38+ messages in thread
From: Brian Gerst @ 2002-01-16 13:52 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: linux-kernel

Christian Thalinger wrote:
> 
> On Wed, 2002-01-16 at 00:28, Brian Gerst wrote:
> > What CPU do you have?  Do you have the FPU emulator compiled in?  Are
> > there any oops messages?
> >
> > --
> >                                               Brian Gerst
> >
> 
> I mentioned in my first mail the dual tyan, so athlon xp, no fpu
> emulator ;-) and no oops messages.

Last I checked, Athlon XP's weren't certified for SMP, only MP's. 
That's likely what the problem is.  And for the record, Tyan also makes
Intel boards too.

Processor manufacturing 101:  All processors of a given family come off
the same production line.  Due to variations in the process, some
processors have defects that only show up at higher clock speeds, SMP
mode, etc.  At the end of the line the processor is tested.  If it fails
at higher clock speeds it is marked at a lower speed.  If it fails SMP
it is marked as an XP.  Market demand can also cause a chip to be rated
lower than it really is, so you can sometimes get away with
overclocking, etc. but it's just random luck if it really works.

-- 

						Brian Gerst

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 13:52     ` Brian Gerst
@ 2002-01-16 14:28       ` M. Edward (Ed) Borasky
  0 siblings, 0 replies; 38+ messages in thread
From: M. Edward (Ed) Borasky @ 2002-01-16 14:28 UTC (permalink / raw)
  To: linux-kernel

On Wed, 16 Jan 2002, Brian Gerst wrote:

> Last I checked, Athlon XP's weren't certified for SMP, only MP's.
> That's likely what the problem is.  And for the record, Tyan also
> makes Intel boards too.
>
> Processor manufacturing 101:  All processors of a given family come
> off the same production line.  Due to variations in the process, some
> processors have defects that only show up at higher clock speeds, SMP
> mode, etc.  At the end of the line the processor is tested.  If it
> fails at higher clock speeds it is marked at a lower speed.  If it
> fails SMP it is marked as an XP.  Market demand can also cause a chip
> to be rated lower than it really is, so you can sometimes get away
> with overclocking, etc. but it's just random luck if it really works.


Could you be more specific on this "random luck" bit? Let's say we have
a production line making processors that should *all* run SMP at, say,
1800 MHz. What fraction of them will actually run SMP and 1800? What
fraction of them will actually run at 1800 UP? What fraction of them
will run at 1700 SMP, 1600 SMP, etc.? And what fraction of them run at
1800 SMP at the end of the line but croak when they get stuck in
<ducking> Aunt Tillie's motherboard?

I'm not looking for anyone's proprietary yield statistics here -- just a
rough idea of what kind of distributions we're dealing with here. For my
application, the 1.3 GHz Athlon I've got now is overkill. I wanted a
dual when I got the system last March, but there weren't any
motherboards available that I could find.

-- 
M. Edward Borasky
znmeb@borasky-research.net

The COUGAR Project
http://www.borasky-research.com/Cougar.htm

Q. How do you tell when a pineapple is ready to eat?
A. It picks up its knife and fork.


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 11:55         ` Christian Thalinger
@ 2002-01-16 14:32           ` Zwane Mwaikambo
  2002-01-16 20:26             ` Christian Thalinger
  0 siblings, 1 reply; 38+ messages in thread
From: Zwane Mwaikambo @ 2002-01-16 14:32 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: linux-kernel, Richard B. Johnson

On 16 Jan 2002, Christian Thalinger wrote:

> Gnu C                  3.0.3
> Gnu make               3.79.1
> util-linux             2.11m
> mount                  2.11h
> modutils               2.4.11
> e2fsprogs              1.25
> reiserfsprogs          3.x.0b
> Linux C Library        2.2.4
> Dynamic linker (ldd)   2.2.4
> Linux C++ Library      3.0.2
> Procps                 2.0.7
> Net-tools              1.60
> Console-tools          0.2.3
> Sh-utils               2.0.11
> Modules Loaded         NVdriver sym53c8xx scsi_mod pwcx-i386 pwc rio500
> usb-ohci
>  usbcore w83781d eeprom i2c-proc i2c-amd756 i2c-isa binfmt_misc
> binfmt_aout ospm
> _processor ospm_system ospm_busmgr sercontrol lirc_i2c lirc_dev tuner
> tvaudio ms
> p3400 bttv videodev i2c-algo-bit i2c-core nfsd lockd sunrpc parport_pc
> lp parpor
> t via-rhine emu10k1 sound ac97_codec soundcore rtc

Can you also reproduce _without_ loading NVdriver, just to make everybody 
happy.

Thanks,
	Zwane Mwaikambo



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 13:14       ` Bruce Harada
@ 2002-01-16 20:06         ` Christian Thalinger
  2002-01-17 19:26         ` bill davidsen
  1 sibling, 0 replies; 38+ messages in thread
From: Christian Thalinger @ 2002-01-16 20:06 UTC (permalink / raw)
  To: Bruce Harada; +Cc: Dave Jones, linux-kernel

On Wed, 2002-01-16 at 14:14, Bruce Harada wrote:
> On Wed, 16 Jan 2002 12:58:35 +0100 (CET)
> Dave Jones <davej@suse.de> wrote:
> 
> > On 16 Jan 2002, Christian Thalinger wrote:
> > 
> > > I mentioned in my first mail the dual tyan, so athlon xp, no fpu
> > > emulator ;-) and no oops messages.
> > 
> > Dual Athlon XP problem. Thanks for playing.
> 
> Interesting. That's the first actual report I've seen of problems caused by
> using XPs instead of MPs. I'd been wondering if I could get away with XPs for
> my next SMP box; now I know better ;)

Don't be too scared. Everything works except this seti thingy.


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 14:32           ` Zwane Mwaikambo
@ 2002-01-16 20:26             ` Christian Thalinger
  2002-01-16 21:23               ` Richard B. Johnson
  0 siblings, 1 reply; 38+ messages in thread
From: Christian Thalinger @ 2002-01-16 20:26 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: linux-kernel, Richard B. Johnson, davej

On Wed, 2002-01-16 at 15:32, Zwane Mwaikambo wrote:
> Can you also reproduce _without_ loading NVdriver, just to make everybody 
> happy.
> 
> Thanks,
> 	Zwane Mwaikambo
> 

Sure, same breakdown. Maybe it's really an dual athlon xp issue as dave
jones mentioned. But shouldn't this also occur when i trigger a floating
point exception myself? Is there a way to check which floating point
exception was raised by the seti client?

Regards.


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 20:26             ` Christian Thalinger
@ 2002-01-16 21:23               ` Richard B. Johnson
  2002-01-16 21:59                 ` Brian Gerst
  0 siblings, 1 reply; 38+ messages in thread
From: Richard B. Johnson @ 2002-01-16 21:23 UTC (permalink / raw)
  To: Christian Thalinger; +Cc: Zwane Mwaikambo, linux-kernel, davej

On 16 Jan 2002, Christian Thalinger wrote:

> On Wed, 2002-01-16 at 15:32, Zwane Mwaikambo wrote:
> > Can you also reproduce _without_ loading NVdriver, just to make everybody 
> > happy.
> > 
> > Thanks,
> > 	Zwane Mwaikambo
> > 
> 
> Sure, same breakdown. Maybe it's really an dual athlon xp issue as dave
> jones mentioned. But shouldn't this also occur when i trigger a floating
> point exception myself? Is there a way to check which floating point
> exception was raised by the seti client?
> 
> Regards.
> 

Maybe you can run it off from gdb? Or `strace` it to a file? Usually
these things are caused by invalid 'C' runtime libraries, either
corrupt, "installed by just making a sim-link to something that
was presumed to be close to what the application was compiled with",
or an error in mem-mapping.

Another very-real possibility is that somebody used floating-point
within the kernel thus corrupting  the `seti` FPU state. You can
check this out by making a program that does lots of FP calculations,
perhaps the sine of a large number of values. You put the results
into one array. Then you do the exact same thing with the results
put into another array.  Then just `memcmp` the arrays! You run
this in a loop for an hour. If the kernel is mucking with your FPU,
it will certainly show.


Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

    I was going to compile a list of innovations that could be
    attributed to Microsoft. Once I realized that Ctrl-Alt-Del
    was handled in the BIOS, I found that there aren't any.



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 21:23               ` Richard B. Johnson
@ 2002-01-16 21:59                 ` Brian Gerst
  2002-01-16 22:05                   ` Richard B. Johnson
  0 siblings, 1 reply; 38+ messages in thread
From: Brian Gerst @ 2002-01-16 21:59 UTC (permalink / raw)
  To: root; +Cc: Christian Thalinger, Zwane Mwaikambo, linux-kernel, davej

"Richard B. Johnson" wrote:
> 
> On 16 Jan 2002, Christian Thalinger wrote:
> 
> > On Wed, 2002-01-16 at 15:32, Zwane Mwaikambo wrote:
> > > Can you also reproduce _without_ loading NVdriver, just to make everybody
> > > happy.
> > >
> > > Thanks,
> > >     Zwane Mwaikambo
> > >
> >
> > Sure, same breakdown. Maybe it's really an dual athlon xp issue as dave
> > jones mentioned. But shouldn't this also occur when i trigger a floating
> > point exception myself? Is there a way to check which floating point
> > exception was raised by the seti client?
> >
> > Regards.
> >
> 
> Maybe you can run it off from gdb? Or `strace` it to a file? Usually
> these things are caused by invalid 'C' runtime libraries, either
> corrupt, "installed by just making a sim-link to something that
> was presumed to be close to what the application was compiled with",
> or an error in mem-mapping.
> 
> Another very-real possibility is that somebody used floating-point
> within the kernel thus corrupting  the `seti` FPU state. You can
> check this out by making a program that does lots of FP calculations,
> perhaps the sine of a large number of values. You put the results
> into one array. Then you do the exact same thing with the results
> put into another array.  Then just `memcmp` the arrays! You run
> this in a loop for an hour. If the kernel is mucking with your FPU,
> it will certainly show.

Hmm, that's an interesting idea... An Athlon optimised kernel does use
the MMX/FPU registers to do mem copies.  Try running a kernel compiled
for just a Pentium and see if the problem persists.

--

				Brian Gerst

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 21:59                 ` Brian Gerst
@ 2002-01-16 22:05                   ` Richard B. Johnson
  2002-01-16 22:12                     ` Mark Zealey
  2002-01-16 23:35                     ` Christian Thalinger
  0 siblings, 2 replies; 38+ messages in thread
From: Richard B. Johnson @ 2002-01-16 22:05 UTC (permalink / raw)
  To: Brian Gerst; +Cc: Christian Thalinger, Zwane Mwaikambo, linux-kernel, davej

On Wed, 16 Jan 2002, Brian Gerst wrote:

> "Richard B. Johnson" wrote:
> > 
> > On 16 Jan 2002, Christian Thalinger wrote:
> > 
> > > On Wed, 2002-01-16 at 15:32, Zwane Mwaikambo wrote:
> > > > Can you also reproduce _without_ loading NVdriver, just to make everybody
> > > > happy.
> > > >
> > > > Thanks,
> > > >     Zwane Mwaikambo
> > > >
> > >
> > > Sure, same breakdown. Maybe it's really an dual athlon xp issue as dave
> > > jones mentioned. But shouldn't this also occur when i trigger a floating
> > > point exception myself? Is there a way to check which floating point
> > > exception was raised by the seti client?
> > >
> > > Regards.
> > >
[SNIPPED...]



> > into one array. Then you do the exact same thing with the results
> > put into another array.  Then just `memcmp` the arrays! You run
> > this in a loop for an hour. If the kernel is mucking with your FPU,
> > it will certainly show.
> 
> Hmm, that's an interesting idea... An Athlon optimised kernel does use
> the MMX/FPU registers to do mem copies.  Try running a kernel compiled
> for just a Pentium and see if the problem persists.
> 

Here's a progy.. This SHOULD run forever. I assume malloc() works and
don't check the result --yes I already know that.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <time.h>
#include <math.h>

#define MAX_FLOAT 0x100000

int main(int args, char *argv[])
{
    unsigned int seed;   
    double *x;
    double *y;
    double *z;
    size_t i;
    x = (double *) malloc(MAX_FLOAT * sizeof(double));
    y = (double *) malloc(MAX_FLOAT * sizeof(double));
    (void) time((time_t *)&seed);
    for(;;)
    {
        srand(seed); 
        z = x;
        for(i = 0; i < MAX_FLOAT; i++)
            *z++ = cos((double) rand());
        srand(seed);
        z = y;
        for(i = 0; i < MAX_FLOAT; i++)
            *z++ = cos((double) rand());
        if(memcmp(x, y, MAX_FLOAT * sizeof(double)))
            break;
        seed = rand();
    }
    fprintf(stderr, "Floating point failure\n");
    return 1;
}



Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

    I was going to compile a list of innovations that could be
    attributed to Microsoft. Once I realized that Ctrl-Alt-Del
    was handled in the BIOS, I found that there aren't any.



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 22:05                   ` Richard B. Johnson
@ 2002-01-16 22:12                     ` Mark Zealey
  2002-01-16 22:23                       ` Richard B. Johnson
  2002-01-16 23:35                     ` Christian Thalinger
  1 sibling, 1 reply; 38+ messages in thread
From: Mark Zealey @ 2002-01-16 22:12 UTC (permalink / raw)
  To: linux-kernel

On Wed, Jan 16, 2002 at 05:05:55PM -0500, Richard B. Johnson wrote:

>     for(;;)
>     {
>         srand(seed); 
>         z = x;
>         for(i = 0; i < MAX_FLOAT; i++)
>             *z++ = cos((double) rand());
>         srand(seed);
>         z = y;
>         for(i = 0; i < MAX_FLOAT; i++)
>             *z++ = cos((double) rand());
>         if(memcmp(x, y, MAX_FLOAT * sizeof(double)))
>             break;
>         seed = rand();

Um, maybe I'm not reading this properly.. why are you randing, doing 1 set and
then using different random values for the other set ?

-- 

Mark Zealey
mark@zealos.org
mark@itsolve.co.uk

UL++++>$ G!>(GCM/GCS/GS/GM) dpu? s:-@ a16! C++++>$ P++++>+++++$ L+++>+++++$
!E---? W+++>$ N- !o? !w--- O? !M? !V? !PS !PE--@ PGP+? r++ !t---?@ !X---?
!R- b+ !tv b+ DI+ D+? G+++ e>+++++ !h++* r!-- y--

(www.geekcode.com)

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 22:12                     ` Mark Zealey
@ 2002-01-16 22:23                       ` Richard B. Johnson
  0 siblings, 0 replies; 38+ messages in thread
From: Richard B. Johnson @ 2002-01-16 22:23 UTC (permalink / raw)
  To: Mark Zealey; +Cc: linux-kernel

On Wed, 16 Jan 2002, Mark Zealey wrote:

> On Wed, Jan 16, 2002 at 05:05:55PM -0500, Richard B. Johnson wrote:
> 
> >     for(;;)
> >     {
> >         srand(seed); 
            ^^^^^^^^^^^^^^^^

> >         z = x;
> >         for(i = 0; i < MAX_FLOAT; i++)
> >             *z++ = cos((double) rand());
> >         srand(seed);
            ^^^^^^^^^^^^^

> >         z = y;
> >         for(i = 0; i < MAX_FLOAT; i++)
> >             *z++ = cos((double) rand());
> >         if(memcmp(x, y, MAX_FLOAT * sizeof(double)))
> >             break;
> >         seed = rand();
> 
> Um, maybe I'm not reading this properly.. why are you randing, doing 1 set and
> then using different random values for the other set ?

I am NOT. I am setting the seed BACK to whatever it was for the first
set with srand(seed). After the compare, I change the seed.


Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

    I was going to compile a list of innovations that could be
    attributed to Microsoft. Once I realized that Ctrl-Alt-Del
    was handled in the BIOS, I found that there aren't any.



^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 22:05                   ` Richard B. Johnson
  2002-01-16 22:12                     ` Mark Zealey
@ 2002-01-16 23:35                     ` Christian Thalinger
  1 sibling, 0 replies; 38+ messages in thread
From: Christian Thalinger @ 2002-01-16 23:35 UTC (permalink / raw)
  To: Richard B. Johnson; +Cc: Brian Gerst, Zwane Mwaikambo, linux-kernel, davej

On Wed, 2002-01-16 at 23:05, Richard B. Johnson wrote:
> Here's a progy.. This SHOULD run forever. I assume malloc() works and
> don't check the result --yes I already know that.
> 
[snip]

It ran for about 70min on both cpu's (started twice) and no problem
occured. Still have to try the pentium optimized kernel.

Regards.


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: floating point exception
  2002-01-16 13:14       ` Bruce Harada
  2002-01-16 20:06         ` Christian Thalinger
@ 2002-01-17 19:26         ` bill davidsen
  1 sibling, 0 replies; 38+ messages in thread
From: bill davidsen @ 2002-01-17 19:26 UTC (permalink / raw)
  To: linux-kernel

In article <1011211577.1617.4.camel@sector17.home.at>,
Christian Thalinger  <e9625286@student.tuwien.ac.at> wrote:
| On Wed, 2002-01-16 at 14:14, Bruce Harada wrote:
| > On Wed, 16 Jan 2002 12:58:35 +0100 (CET)
| > Dave Jones <davej@suse.de> wrote:
| > 
| > > On 16 Jan 2002, Christian Thalinger wrote:
| > > 
| > > > I mentioned in my first mail the dual tyan, so athlon xp, no fpu
| > > > emulator ;-) and no oops messages.
| > > 
| > > Dual Athlon XP problem. Thanks for playing.
| > 
| > Interesting. That's the first actual report I've seen of problems caused by
| > using XPs instead of MPs. I'd been wondering if I could get away with XPs for
| > my next SMP box; now I know better ;)
| 
| Don't be too scared. Everything works except this seti thingy.

  Does this run correctly for UP? And is this the right version of
setiathome for this CPU. Not using SSE7, 4Dthen, or some other
proprietary FP method? And until it is proven to work with the MP part,
should it ever actually be shipped instead of advertized, I wouldn't be
totally sure about XP or kernel being at fault, or even RAM problems
under load, etc.
-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Floating point exception
       [not found] <000601c28c56$4b9d20a0$7301a8c0@zhongqx>
@ 2002-11-15  4:44 ` rekha gvv
  0 siblings, 0 replies; 38+ messages in thread
From: rekha gvv @ 2002-11-15  4:44 UTC (permalink / raw)
  To: zhongqx; +Cc: linuxppc-embedded

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 3627 bytes --]


HI,
even i use the same busy box only.
but canu just tell the steps how u created the file
system ....I had built some of the utilities like busy
box.and theni added them in the simple ramdisk image
and also if i try to execute the executable i get the
error after the kernel boots up..:(
*************************************************
ttyS0 on SMC1 at 0x0280, BRG1
block: queued sectors max/low 3912kB/1304kB, 64 slots
per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size
1024 blocksize
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 717k freed
devfs: v0.102 (20000622) Richard Gooch
(rgooch@atnf.csiro.au)
devfs: devfs_debug: 0x0
devfs: boot_options: 0x0
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
IP-Config: No network devices available.
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
Freeing unused kernel memory: 48k inÿ
bash# cd bin
bash# ls
depmod  ls      sh
bash# depmod
Bad emulation depmod/8
NIP: 3004f000 instruction: 7f454c46 opcode: 1f A: 5 B:
9 C: 11 code: 223 rc: 0
pte @ 0x3004f000:
(0xc02cd300)->(0xc02c013c)-0x002c2881
RPN: 002c2 PP: 2 SPS: 0 SH: 0 CI: 0 v: 1
Kernel VA for NIP c02c2000  pte @ 0xc02c2000: no pmd
Floating point exception
bash#
bash#
*******************************************************
why do i get this floating point exception error ?
is the problem in the compilation or problem in kernel
..

thanks ..bye



--- zhongqx <zhongqx@guoguang.com.cn> wrote:
> I don't use SELF ,I use busybox you can download it
> from it's web.
>
> ----- Original Message -----
> From: "rekha gvv" <rekhagvvc@yahoo.co.in>
> To: "zhongqx" <zhongqx@guoguang.com.cn>
> Sent: Wednesday, November 13, 2002 12:12 PM
> Subject: Re: Hi
>
>
> > Hi,
> > I am using kernel version of 2.4.4 and SELF from
> that
> > denx site ..I have compiled SELF using uclibc ..i
> have
> > got the images but then wheni download it gives
> the
> > kernel panic error:(
> > how do check if they are executables for powerpc
> ...
> > did u use SELF ..or u created your own ramdisk ??
> > bye!
> >
> > --- zhongqx <zhongqx@guoguang.com.cn> wrote:
> > > I also meet this problem before when I used
> version
> > > 2.4.18,and I do not known how to do.
> > > now I am used linux-2.4.4-2002-02-14 ,it is ok
> for
> > > ramdisk.image,so I advise you not to waste
> > > you time if you use linux-2.4.18,you should use
> > > other version such as 2.4.4.
> > > ----- Original Message -----
> > > From: "rekha gvv" <rekhagvvc@yahoo.co.in>
> > > To: <zhongqx@guoguang.com.cn>
> > > Sent: Tuesday, November 12, 2002 8:30 PM
> > > Subject: Hi
> > >
> > >
> > > > HI zhongqx,
> > > > I am facing some problems with the ramdisk
> image
> > > ..
> > > > wheni created my own ramdisk also i faced this
> > > error
> > > > Kernel panic: No init found.  Try passing
> init=
> > > option
> > > > to kernel.
> > > >
> > > > and now after downloading SELF and compiling
> the
> > > > kernel also am facing the same problem ...
> > > >
> > > > I am sure u are much ahead of this problem and
> > > solved
> > > > it ..can u please help regarding this ...
> > > >
> > > > I have used uclibc which is a small library
> > > compared
> > > > to glibc ...
> > > > expecting some hints ..thankyou
> > > >
> > > > Regards
> > > > Rekha.c
> > > >
> > > >
> > > >
> > >
> >
> >
>


Yahoo! Web Hosting - Let the expert host your site
http://webhosting.yahoo.com

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Floating Point Exception
@ 2002-12-27 14:18 Nandakumar  NarayanaSwamy
  0 siblings, 0 replies; 38+ messages in thread
From: Nandakumar  NarayanaSwamy @ 2002-12-27 14:18 UTC (permalink / raw)
  To: linux-kernel

Hi All,

I am getting a floating point exception when i run my code.
I am having a IDT 32334 MIPS processor in my board and
i am using cross compiler to build the image.

When the program is executed, it comes out after sometime
with the message "Floating point exception". No other dump is
displayed. Seems to be having some illegal floating point 
operations
in my code.

Can anyone suggest me the reason why i am getting this and
how to solve this?

Thanks in advance,
Nanda




^ permalink raw reply	[flat|nested] 38+ messages in thread

* Floating point exception
@ 2004-05-31  3:12 kas turi
  0 siblings, 0 replies; 38+ messages in thread
From: kas turi @ 2004-05-31  3:12 UTC (permalink / raw)
  To: linux-mtd

Hi
  I have merged the latest JFFS2 filesystem, mtd
drivers and block drivers on my 2.4.7 timesys linux
kernel. The snap shot I have used for merging is
"mtd-snapshot-20040527.tar". I am running this kernel
on my 8270 Powerpc board with AM29LV128ML flash chip.
The bus width is 32, interleave is 2 and flash size is
32M. The kernel boots up with JFFS2 as the root file
system.
  All the file operations such as list, copy and
delete are working fine. Finally when I issue a
shutdown to boot  my board I get an exception:
floating point used in kernel (task=c5158000,
pc=ff000104)
Oops: Exception in kernel mode, sig: 4
NIP: FF020000 XER: 20000000 LR: FF000104 SP: C5159DE0
REGS: c5159d30 TRAP: 0700MSR: 00083002 EE: 0 PR: 0 FP:
1 ME: 1 IR/DR: 00
TASK = c5158000[931] 'shutdown' Last syscall: 114
last math 00000000 last altivec 00000000
GPR00: 00001032 C5159DE0 C5158000 001DF1D4 FF000104
00001002 00003854 C01E3459
GPR08: 00000013 C01E0000 0000C000 80000088 24022088
1001B608 10000000 7FFFFB48
GPR16: 10010000 00000000 00000000 00000004 00009032
05159F40 00000000 C0004070
GPR24: C0003DE0 7FFFFEDD 30029C78 00000008 C01BBBEC
C5158000 00000000 FF000104
Call backtrace:
7FFFFEDD 816100A8

The same kernel with 1.5 years old snapshot of JFFS2
works fine. Any idea what could be the issue.

Thanks in advance. 


	
		
__________________________________
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Floating point exception
@ 2004-09-11 11:39 Ankit Jain
  2004-09-11 14:58 ` Jan-Benedict Glaw
  0 siblings, 1 reply; 38+ messages in thread
From: Ankit Jain @ 2004-09-11 11:39 UTC (permalink / raw)
  To: gcc, linux prg

#include<stdlib.h>
#include<string.h>
#include<complex.h>
#include<errno.h>
#include<time.h>
#include<stdio.h>
#define NX 4 	 	 
#define NY 4
#define N 2*NX*NY		//N is the size of 2 D DFT
#include <math.h>
#define num 2
#define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr

void fft(float data[], unsigned long nn[], int ndim,
int isign)
{
int idim;
unsigned long
i1,i2,i3,i2rev,i3rev,ip1,ip2,ip3,ifp1,ifp2;
unsigned long ibit,k1,k2,n,nprev,nrem,ntot;
float tempi,tempr;
double theta,wi,wpi,wpr,wr,wtemp; //Double precision
for trigonometric recur-rences.
for (ntot=1,idim=1;idim<=ndim;idim++)    //Compute
total number of complex val-ues.
	ntot *= nn[idim];
nprev=1;

for (idim=ndim;idim>=1;idim--) 
{					// Main loop over the dimensions.
	n=nn[idim];
	nrem=ntot/(n*nprev);
	ip1=nprev << 1;
	ip2=ip1*n;
	ip3=ip2*nrem;
	i2rev=1;
	for (i2=1;i2<=ip2;i2+=ip1) 
	{ 		//This is the bit-reversal section of the
routine. 
		if (i2 < i2rev)	
                  {
			for (i1=i2;i1<=i2+ip1-2;i1+=2) 
                        {
			 for (i3=i1;i3<=ip3;i3+=ip2) 
                            {
				i3rev=i2rev+i3-i2;
				SWAP(data[i3],data[i3rev]);
				SWAP(data[i3+1],data[i3rev+1]);
	                   }
			}
		  }
		ibit=ip2 >> 1;
		while (ibit >= ip1 && i2rev > ibit) 
                {
			i2rev -= ibit;
			ibit >>= 1;
		}
		i2rev += ibit;
	}

	//Here begins the Danielson-Lanczos sec-tion of the
routine. 
	ifp1=ip1;		
	while (ifp1 < ip2) 
               {
		ifp2=ifp1 << 1;
		theta=isign*6.28318530717959/(ifp2/ip1); 
		//Initialize for the trig. recur-rence.
		wtemp=sin(0.5*theta);
		wpr = -2.0*wtemp*wtemp;
		wpi=sin(theta);
		wr=1.0;
		wi=0.0;
		for (i3=1;i3<=ifp1;i3+=ip1) {
			for (i1=i3;i1<=i3+ip1-2;i1+=2) {
				for (i2=i1;i2<=ip3;i2+=ifp2) {
					k1=i2; 		//Danielson-Lanczos formula:
					k2=k1+ifp1;
					tempr=(float)wr*data[k2]-(float)wi*data[k2+1];
					tempi=(float)wr*data[k2+1]+(float)wi*data[k2];
					data[k2]=data[k1]-tempr;
					data[k2+1]=data[k1+1]-tempi;
					data[k1] += tempr;
					data[k1+1] += tempi;
				}
			}
			wr=(wtemp=wr)*wpr-wi*wpi+wr; //Trigonometric
recurrence.
			wi=wi*wpr+wtemp*wpi+wi;
		}
		ifp1=ifp2;
	}
	nprev *= n;
	}
}
int main()
{
        float rin[NX][NY],iin[NX][NY];
	float in[2*NX*NY];
	unsigned long nn[]={NX,NY};

	int i=0,j=0,k=0;

        k = 0;
        for (i = 0; i< NX; i++)
         {
          for (j = 0; j< NY; j++)
          {
           rin[i][j] = (float) (2*i*i);
           iin[i][j] = 0;
           in[k] = rin[i][j];
           k=k+1;
           in[k] = iin[i][j];
           k= k+1;
           
          }
         }
         //for (i = 0; i< 32; i++)
printf("%d\t%f\n",i,in[i]);

	fft(in,nn,2,1);		//Executes the plan
        
	k = 0;
        for (i = 0; i< NX; i++)
         {
          for (j = 0; j< NY; j++)
          {
           rin[i][j] = in[k];
           printf("real part is%f\n",in[k]);
           k=k+1;
           iin[i][j] = in[k];
           printf("imaginary part is%f\n",in[k]);
           k=k+1;
          }
         }

        printf("finished fft\n");
	return 0;
}


________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 
http://uk.messenger.yahoo.com/download/index.html

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: Floating point exception
  2004-09-11 11:39 Ankit Jain
@ 2004-09-11 14:58 ` Jan-Benedict Glaw
  0 siblings, 0 replies; 38+ messages in thread
From: Jan-Benedict Glaw @ 2004-09-11 14:58 UTC (permalink / raw)
  To: linux prg

[-- Attachment #1: Type: text/plain, Size: 1820 bytes --]

On Sat, 2004-09-11 12:39:13 +0100, Ankit Jain <ankitjain1580@yahoo.com>
wrote in message <20040911113913.86435.qmail@web52904.mail.yahoo.com>:
> #include<stdlib.h>
> #include<string.h>
> #include<complex.h>
> #include<errno.h>
> #include<time.h>
> #include<stdio.h>
> #define NX 4 	 	 
> #define NY 4
> #define N 2*NX*NY		//N is the size of 2 D DFT

Braces missing

> #include <math.h>

You'd first finish all includes, then add your own defines.

> #define num 2
> #define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr

This may cause subtle errors. Consider

	if (something)
		SWAP (x, y);

Only the part "tempr=(a);" would be executed conditionally, what is not
exactly what you intended. I suggest using:

#define SWAP(a,b)		\
	do {			\
		tempr = (a);	\
		(a) = (b);	\
		(b) = tempr;	\
	} while (0)

> void fft(float data[], unsigned long nn[], int ndim,
> int isign)
> {
> int idim;
> unsigned long
> i1,i2,i3,i2rev,i3rev,ip1,ip2,ip3,ifp1,ifp2;
> unsigned long ibit,k1,k2,n,nprev,nrem,ntot;
> float tempi,tempr;
> double theta,wi,wpi,wpr,wr,wtemp; //Double precision
> for trigonometric recur-rences.
> for (ntot=1,idim=1;idim<=ndim;idim++)    //Compute
> total number of complex val-ues.
> 	ntot *= nn[idim];
> nprev=1;
> 
> for (idim=ndim;idim>=1;idim--) 
> {					// Main loop over the dimensions.
> 	n=nn[idim];
> 	nrem=ntot/(n*nprev);

In your example code, n may become zero, so you devide by zero, which
isn't legal.

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw@lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Floating Point Exception
       [not found] <22AECFD3-98E0-44F9-A19C-1667B41D0675@itfreedom.com>
@ 2008-07-10 17:56 ` Cody Jarrett
  2008-07-10 18:01   ` Samuel Thibault
  0 siblings, 1 reply; 38+ messages in thread
From: Cody Jarrett @ 2008-07-10 17:56 UTC (permalink / raw)
  To: Xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 14266 bytes --]

  I wanted to check with everyone here to see how I should proceed  
with this issue. I'm having the same issue as this thread from 2004:
http://osdir.com/ml/emulators.xen.devel/2004/msg02449.html

Begin forwarded message:

> From: Cody Jarrett <cody.jarrett@itfreedom.com>
> Date: June 27, 2008 5:15:19 PM CDT
> To: xen-users@lists.xensource.com
> Subject: Re: [Xen-users] Floating Point Exception
>
>
> root@server03:~
> $ strace rpm
> execve("/bin/rpm", ["rpm"], [/* 30 vars */]) = 0
> brk(0)                                  = 0x8765000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or  
> directory)
> open("/etc/ld.so.cache", O_RDONLY)      = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=29161, ...}) = 0
> mmap2(NULL, 29161, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7efb000
> close(3)                                = 0
> open("/usr/lib/librpm-4.4.so", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\257\0\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=375588, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7efa000
> mmap2(NULL, 585536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0xf18000
> mmap2(0xf71000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x58) = 0xf71000
> mmap2(0xf75000, 204608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0xf75000
> close(3)                                = 0
> open("/usr/lib/librpmdb-4.4.so", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\307\1\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=1131340, ...}) = 0
> mmap2(NULL, 1136096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x8a1000
> mmap2(0x9b2000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x110) = 0x9b2000
> mmap2(0x9b6000, 1504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0x9b6000
> close(3)                                = 0
> open("/lib/libselinux.so.1", O_RDONLY)  = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0005\0\0004\0\0\0"..., 512)  
> = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=91892, ...}) = 0
> mmap2(NULL, 93016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x48d000
> mmap2(0x4a2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x15) = 0x4a2000
> close(3)                                = 0
> open("/usr/lib/librpmio-4.4.so", O_RDONLY) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0` 
> \316\0\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=468340, ...}) = 0
> mmap2(NULL, 614304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0xd7b000
> mmap2(0xdeb000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x6f) = 0xdeb000
> mmap2(0xdef000, 139168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0xdef000
> close(3)                                = 0
> open("/usr/lib/libpopt.so.0", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\20\0\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=29008, ...}) = 0
> mmap2(NULL, 31856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x37f000
> mmap2(0x386000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x6) = 0x386000
> close(3)                                = 0
> open("/usr/lib/libsqlite3.so.0", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\235\0\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=383696, ...}) = 0
> mmap2(NULL, 387072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x110000
> mmap2(0x16d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x5c) = 0x16d000
> close(3)                                = 0
> open("/usr/lib/libelf.so.1", O_RDONLY)  = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p 
> \33\0\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=82364, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7ef9000
> mmap2(NULL, 85148, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x469000
> mmap2(0x47d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x13) = 0x47d000
> close(3)                                = 0
> open("/usr/lib/libbeecrypt.so.6", O_RDONLY) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320g 
> \0\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=250020, ...}) = 0
> mmap2(NULL, 252868, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x1be000
> mmap2(0x1f9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x3a) = 0x1f9000
> close(3)                                = 0
> open("/lib/i686/nosegneg/libm.so.6", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0204\0\0004\0\0\0"..., 512)  
> = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=206396, ...}) = 0
> mmap2(NULL, 155760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x16f000
> mmap2(0x194000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x24) = 0x194000
> close(3)                                = 0
> open("/lib/libdl.so.2", O_RDONLY)       = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\n 
> \0\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=14644, ...}) = 0
> mmap2(NULL, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x456000
> mmap2(0x458000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x1) = 0x458000
> close(3)                                = 0
> open("/usr/lib/libz.so.1", O_RDONLY)    = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\25\0\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=73580, ...}) = 0
> mmap2(NULL, 76400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x401000
> mmap2(0x413000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x11) = 0x413000
> close(3)                                = 0
> open("/lib/i686/nosegneg/librt.so.1", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\30\0\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=42068, ...}) = 0
> mmap2(NULL, 33324, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x196000
> mmap2(0x19d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x6) = 0x19d000
> close(3)                                = 0
> open("/lib/i686/nosegneg/libpthread.so.0", O_RDONLY) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360G 
> \0\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=123648, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7ef8000
> mmap2(NULL, 90592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x7e5000
> mmap2(0x7f8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x12) = 0x7f8000
> mmap2(0x7fa000, 4576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0x7fa000
> close(3)                                = 0
> open("/usr/lib/libbz2.so.1", O_RDONLY)  = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\17\0\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=66340, ...}) = 0
> mmap2(NULL, 69156, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x20f000
> mmap2(0x21f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0xf) = 0x21f000
> close(3)                                = 0
> open("/lib/i686/nosegneg/libc.so.6", O_RDONLY) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000_ 
> \1\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=1598748, ...}) = 0
> mmap2(NULL, 1320356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x220000
> mmap2(0x35d000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x13d) = 0x35d000
> mmap2(0x360000, 9636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0x360000
> close(3)                                = 0
> open("/lib/libsepol.so.1", O_RDONLY)    = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340.\0\0004\0\0\0"..., 512)  
> = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=241432, ...}) = 0
> mmap2(NULL, 286624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x4a4000
> mmap2(0x4df000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0x3a) = 0x4df000
> mmap2(0x4e0000, 40864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0x4e0000
> close(3)                                = 0
> open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0` 
> \26\0\0004\0\0\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=45064, ...}) = 0
> mmap2(NULL, 48100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x894000
> mmap2(0x89f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0xa) = 0x89f000
> close(3)                                = 0
> open("/usr/lib/libstdc++.so.6", O_RDONLY) = 3
> read(3, "\177ELF 
> \1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\325\3\0004\0\0\0"...,  
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=925520, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7ef7000
> mmap2(NULL, 951972, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,  
> 3, 0) = 0x4ea000
> mmap2(0x5c8000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_DENYWRITE, 3, 0xdd) = 0x5c8000
> mmap2(0x5cd000, 22180, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| 
> MAP_ANONYMOUS, -1, 0) = 0x5cd000
> close(3)                                = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7ef6000
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7ef5000
> set_thread_area({entry_number:-1 -> 6, base_addr:0xb7ef56e0, limit: 
> 1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages: 
> 1, seg_not_present:0, useable:1}) = 0
> mprotect(0x5c8000, 12288, PROT_READ)    = 0
> mprotect(0x35d000, 8192, PROT_READ)     = 0
> mprotect(0x7f8000, 4096, PROT_READ)     = 0
> mprotect(0x19d000, 4096, PROT_READ)     = 0
> mprotect(0x458000, 4096, PROT_READ)     = 0
> mprotect(0x194000, 4096, PROT_READ)     = 0
> mprotect(0x6e2000, 4096, PROT_READ)     = 0
> munmap(0xb7efb000, 29161)               = 0
> set_tid_address(0xb7ef5728)             = 4491
> set_robust_list(0xb7ef5730, 0xc)        = 0
> rt_sigaction(SIGRTMIN, {0x7e93d0, [], SA_SIGINFO}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0x7e92e0, [], SA_RESTART|SA_SIGINFO}, NULL,  
> 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024,  
> rlim_max=RLIM_INFINITY}) = 0
> uname({sys="Linux", node="server03", ...}) = 0
> futex(0x5ce4fc, FUTEX_WAKE, 2147483647) = 0
> brk(0)                                  = 0x8765000
> brk(0x8786000)                          = 0x8786000
> access("/etc/selinux/", F_OK)           = 0
> open("/etc/selinux/config", O_RDONLY|O_LARGEFILE) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=512, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7f02000
> read(3, "# This file controls the state o"..., 4096) = 512
> read(3, "", 4096)                       = 0
> close(3)                                = 0
> munmap(0xb7f02000, 4096)                = 0
> open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3
> fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7f02000
> read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 4096) = 528
> close(3)                                = 0
> munmap(0xb7f02000, 4096)                = 0
> open("/selinux/mls", O_RDONLY|O_LARGEFILE) = 3
> read(3, "1", 19)                        = 1
> close(3)                                = 0
> socket(PF_FILE, SOCK_STREAM, 0)         = 3
> connect(3, {sa_family=AF_FILE, path="/var/run/setrans/.setrans- 
> unix"}, 110) = -1 ENOENT (No such file or directory)
> close(3)                                = 0
> open("/usr/lib/rpm/rpmpopt-4.4.2", O_RDONLY|O_LARGEFILE) = 3
> _llseek(3, 0, [22411], SEEK_END)        = 0
> _llseek(3, 0, [0], SEEK_SET)            = 0
> read(3, "#/*! \\page config_rpmpopt Defaul"..., 22411) = 22411
> close(3)                                = 0
> open("/etc/popt", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or  
> directory)
> open("/root/.popt", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file  
> or directory)
> open("/etc/rpm/platform", O_RDONLY|O_LARGEFILE) = 3
> fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
> fstat64(3, {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
> mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,  
> -1, 0) = 0xb7f01000
> poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 1000) = 1
> gettimeofday({1214604843, 633559}, NULL) = 0
> nanosleep({0, 20000000}, {1, 0})        = 0
> gettimeofday({1214604843, 633559}, NULL) = 0
> --- SIGFPE (Floating point exception) @ 0 (0) ---
> +++ killed by SIGFPE +++
>
>
>
> On Jun 27, 2008, at 5:10 PM, Cody Jarrett wrote:
>
>> I started getting the "floating point exception" error when running  
>> any yum or rpm command in centos after I installed xen. I'm having  
>> the exact same issue as this centos bug report, but no progress has  
>> been made to it. Has anybody found a resolution?
>>
>> http://bugs.centos.org/view.php?id=2706
>>
>> _______________________________________________
>> Xen-users mailing list
>> Xen-users@lists.xensource.com
>> http://lists.xensource.com/xen-users
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xensource.com
> http://lists.xensource.com/xen-users


[-- Attachment #1.2: Type: text/html, Size: 20786 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: Floating Point Exception
  2008-07-10 17:56 ` Floating Point Exception Cody Jarrett
@ 2008-07-10 18:01   ` Samuel Thibault
  2008-07-11 16:27     ` Cody Jarrett
  0 siblings, 1 reply; 38+ messages in thread
From: Samuel Thibault @ 2008-07-10 18:01 UTC (permalink / raw)
  To: Cody Jarrett; +Cc: Xen-devel

Cody Jarrett, le Thu 10 Jul 2008 12:56:18 -0500, a écrit :
>     gettimeofday({1214604843, 633559}, NULL) = 0
>     nanosleep({0, 20000000}, {1, 0})        = 0
>     gettimeofday({1214604843, 633559}, NULL) = 0
>     --- SIGFPE (Floating point exception) @ 0 (0) ---
>     +++ killed by SIGFPE +++

My guess would be that it's not happy that no time has elapsed though it
has called nanosleep...

Samuel

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: Floating Point Exception
  2008-07-10 18:01   ` Samuel Thibault
@ 2008-07-11 16:27     ` Cody Jarrett
  2008-07-11 17:21       ` Samuel Thibault
  0 siblings, 1 reply; 38+ messages in thread
From: Cody Jarrett @ 2008-07-11 16:27 UTC (permalink / raw)
  To: Samuel Thibault, Xen-devel

It seems to happen randomly when executing the 'rpm' or 'yum'  
commands. It happens on centos 5, 5.1, and 5.2 machines while using  
the xen kernel and on 3 of my completely different servers. When it  
does happen, all the strace outputs seem to be the same, encountering  
the SIGFPE after the second gettimeofday. What should I provide to  
help track this issue down?


On Jul 10, 2008, at 1:01 PM, Samuel Thibault wrote:

> Cody Jarrett, le Thu 10 Jul 2008 12:56:18 -0500, a écrit :
>>    gettimeofday({1214604843, 633559}, NULL) = 0
>>    nanosleep({0, 20000000}, {1, 0})        = 0
>>    gettimeofday({1214604843, 633559}, NULL) = 0
>>    --- SIGFPE (Floating point exception) @ 0 (0) ---
>>    +++ killed by SIGFPE +++
>
> My guess would be that it's not happy that no time has elapsed  
> though it
> has called nanosleep...
>
> Samuel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: Floating Point Exception
  2008-07-11 16:27     ` Cody Jarrett
@ 2008-07-11 17:21       ` Samuel Thibault
  2008-07-11 18:02         ` Cody Jarrett
  0 siblings, 1 reply; 38+ messages in thread
From: Samuel Thibault @ 2008-07-11 17:21 UTC (permalink / raw)
  To: Cody Jarrett; +Cc: Xen-devel

[-- Attachment #1: Type: text/plain, Size: 877 bytes --]

Cody Jarrett, le Fri 11 Jul 2008 11:27:35 -0500, a écrit :
> It seems to happen randomly when executing the 'rpm' or 'yum'  
> commands. It happens on centos 5, 5.1, and 5.2 machines while using  
> the xen kernel and on 3 of my completely different servers. When it  
> does happen, all the strace outputs seem to be the same, encountering  
> the SIGFPE after the second gettimeofday. What should I provide to  
> help track this issue down?

Well, I had a look at the rpm code, and it's quite bogus: it uses
gettimeofday() to measure the time taken by nanosleep(20ms). There is
no way that can reliably work in all environments, virtualized or not,
since the resolution of gettimeofday may be >20ms (posix even says it is
unspecified). The attached patch should fix that, but I guess it'll be
hard to get it applied to all rpm-based distributions :/

Samuel

[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 298 bytes --]

--- rpmio/rpmsw.c.orig	2008-07-11 18:19:43.000000000 +0100
+++ rpmio/rpmsw.c	2008-07-11 18:19:57.000000000 +0100
@@ -220,7 +220,7 @@
 	rpmsw_type = 1;
 
 	/* Compute cycles/usec */
-	rpmsw_cycles = sum_cycles/sum_usecs;
+	rpmsw_cycles = sum_cycles/(sum_usecs + 1);
 #else
 	rpmsw_type = 0;
 #endif

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: Floating Point Exception
  2008-07-11 17:21       ` Samuel Thibault
@ 2008-07-11 18:02         ` Cody Jarrett
  2008-07-11 19:20           ` Samuel Thibault
  0 siblings, 1 reply; 38+ messages in thread
From: Cody Jarrett @ 2008-07-11 18:02 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: Xen-devel

Well, I searched through the history of the code for that rpmsw.c file  
in the rpm source code. That sum_cycles stuff looks like it was added  
on 04-07-2003 and it was ripped out on 4-21-2008. I haven't updated my  
server since probably January and I bet if I update my rpm to the  
latest version, the problem is gone. Thanks for you help on this!

Here is the site with the diff's.
http://devel.linux.duke.edu/gitweb/?p=rpm.git;a=history;f=rpmio/rpmsw.c;h=2a6d70af4a069b2f18ba6bf6046d1fef927c7c9d;hb=HEAD


On Jul 11, 2008, at 12:21 PM, Samuel Thibault wrote:

> Cody Jarrett, le Fri 11 Jul 2008 11:27:35 -0500, a écrit :
>> It seems to happen randomly when executing the 'rpm' or 'yum'
>> commands. It happens on centos 5, 5.1, and 5.2 machines while using
>> the xen kernel and on 3 of my completely different servers. When it
>> does happen, all the strace outputs seem to be the same, encountering
>> the SIGFPE after the second gettimeofday. What should I provide to
>> help track this issue down?
>
> Well, I had a look at the rpm code, and it's quite bogus: it uses
> gettimeofday() to measure the time taken by nanosleep(20ms). There is
> no way that can reliably work in all environments, virtualized or not,
> since the resolution of gettimeofday may be >20ms (posix even says  
> it is
> unspecified). The attached patch should fix that, but I guess it'll be
> hard to get it applied to all rpm-based distributions :/
>
> Samuel
> <patch.txt>_______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: Floating Point Exception
  2008-07-11 18:02         ` Cody Jarrett
@ 2008-07-11 19:20           ` Samuel Thibault
  0 siblings, 0 replies; 38+ messages in thread
From: Samuel Thibault @ 2008-07-11 19:20 UTC (permalink / raw)
  To: Cody Jarrett; +Cc: Xen-devel

Cody Jarrett, le Fri 11 Jul 2008 13:02:46 -0500, a écrit :
> Well, I searched through the history of the code for that rpmsw.c file  
> in the rpm source code. That sum_cycles stuff looks like it was added  
> on 04-07-2003 and it was ripped out on 4-21-2008.

Indeed, and for good reason, then fine :)

Samuel

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Floating point exception
@ 2008-09-03 19:31 john bryant
  0 siblings, 0 replies; 38+ messages in thread
From: john bryant @ 2008-09-03 19:31 UTC (permalink / raw)
  To: xen-users@lists.xensource.com, xen-devel@lists.xensource.com


[-- Attachment #1.1: Type: text/plain, Size: 376 bytes --]

I compiled xen-3.0.2 in fedora core 6 and installed the compiled
distribution package (dist) in fedora core 5 ( using "./sh install.sh). I
believe install.sh installed all required library files and binaries ( I
have checked binaries and library files).

When i start "xend" , it gives me "Floating point Exception" error. Any help
is appreciated to debug the problem.

-John

[-- Attachment #1.2: Type: text/html, Size: 435 bytes --]

[-- Attachment #2: Type: text/plain, Size: 137 bytes --]

_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2008-09-03 19:31 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <22AECFD3-98E0-44F9-A19C-1667B41D0675@itfreedom.com>
2008-07-10 17:56 ` Floating Point Exception Cody Jarrett
2008-07-10 18:01   ` Samuel Thibault
2008-07-11 16:27     ` Cody Jarrett
2008-07-11 17:21       ` Samuel Thibault
2008-07-11 18:02         ` Cody Jarrett
2008-07-11 19:20           ` Samuel Thibault
2008-09-03 19:31 Floating point exception john bryant
  -- strict thread matches above, loose matches on Subject: below --
2004-09-11 11:39 Ankit Jain
2004-09-11 14:58 ` Jan-Benedict Glaw
2004-05-31  3:12 kas turi
2002-12-27 14:18 Floating Point Exception Nandakumar  NarayanaSwamy
     [not found] <000601c28c56$4b9d20a0$7301a8c0@zhongqx>
2002-11-15  4:44 ` Floating point exception rekha gvv
2002-01-14 10:56 floating " Zwane Mwaikambo
2002-01-14 21:26 ` Christian Thalinger
2002-01-15 14:34   ` Zwane Mwaikambo
2002-01-15 14:46     ` Richard B. Johnson
2002-01-15 18:19     ` Christian Thalinger
2002-01-15 18:31       ` Richard B. Johnson
2002-01-15 18:49         ` Christian Thalinger
2002-01-16  5:45       ` Zwane Mwaikambo
2002-01-16 11:55         ` Christian Thalinger
2002-01-16 14:32           ` Zwane Mwaikambo
2002-01-16 20:26             ` Christian Thalinger
2002-01-16 21:23               ` Richard B. Johnson
2002-01-16 21:59                 ` Brian Gerst
2002-01-16 22:05                   ` Richard B. Johnson
2002-01-16 22:12                     ` Mark Zealey
2002-01-16 22:23                       ` Richard B. Johnson
2002-01-16 23:35                     ` Christian Thalinger
2002-01-13 12:43 Christian Thalinger
2002-01-15 23:28 ` Brian Gerst
2002-01-16 11:45   ` Christian Thalinger
2002-01-16 11:58     ` Dave Jones
2002-01-16 13:14       ` Bruce Harada
2002-01-16 20:06         ` Christian Thalinger
2002-01-17 19:26         ` bill davidsen
2002-01-16 13:52     ` Brian Gerst
2002-01-16 14:28       ` M. Edward (Ed) Borasky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.