I am running the Einstein@home application (version 4.35, http://einstein.phys.uwm.edu).This application does lots of computations mostly with FPU and SSE instructions.After I started experimenting with real-time optimized kernels the application began to crash with floating point errors like in the following message:

APP DEBUG: Application caught signal 8.

FPU status word ffffa0e1, flags: ERR_SUMM STACK_FAULT PRECISION INVALIDObtained 6 stack frames for this thread.Use gdb command: 'info line *0xADDRESS' to print corresponding line numbers.einstein_S5R3_4.35_i686-pc-linux-gnu[0x8069e7e]einstein_S5R3_4.35_i686-pc-linux-gnu[0x818d436]einstein_S5R3_4.35_i686-pc-linux-gnu[0x805db8f]einstein_S5R3_4.35_i686-pc-linux-gnu[0x806b11c]/lib/libc.so.6(__libc_start_main+0xe0)[0xb7e14fe0]einstein_S5R3_4.35_i686-pc-linux-gnu(shmat+0x59)[0x804bda1]Stack trace of LAL functions in worker thread:GetSemiCohToplist at line 3177 of file /home/bema/einsteinathome/HierarchicalSearch/EaH_build_release_einstein_S5R3_4.35/extra_sources/lalapps-CVS/src/pulsar/hough/src2/HierarchicalSearch.cAt lowest level status code = 0, description: NO LAL ERROR REGISTEREDcalled boinc_finishI tracked this down to a single kernel configuration option. If CONFIG_PREEMPT is set to 'y' the application will start crashing. If CONFIG_PREEMPT is replaced by CONFIG_PREEMPT_VOLUNTARY, the application will run without errors.

The problem is reproducible in so far as the error always occurs when CONFIG_PREEMPT is set, but the time to the first occurrence varies greatly from some minutes up to more than 10 CPU hours.

I found this error first on an openSUSE kernel 2.6.22.17-0.1-rt. I verified the problem on the following kernel versions: