Bug 740 - stable_norm_1 fails on x86 with SSE3 enabled
stable_norm_1 fails on x86 with SSE3 enabled
Status: RESOLVED FIXED
Product: Eigen
Classification: Unclassified
Component: Core - general
3.2
All All
: Normal Unknown
Assigned To: Nobody
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-02-11 19:49 UTC by Benoit Steiner
Modified: 2014-02-13 15:46 UTC (History)
2 users (show)



Attachments

Description Benoit Steiner 2014-02-11 19:49:50 UTC
The test appears to succeed most of the time. Unfortunately it fails for seed 1392142979.

Here's what I get when running on linux in gcc with the latest Eigen codebase:

(gdb) run s1392142979
Starting program: /usr/local/google/home/bsteiner/EigenLatest/build/test/./stable_norm_1 s1392142979
Initializing random number generator with seed 1392142979
Repeating each test 10 times
Test stable_norm(Matrix<float, 1, 1>()) failed in /usr/local/google/home/bsteiner/EigenLatest/eigen/test/stable_norm.cpp (90)
    test_isApprox(vsmall.stableNorm(), sqrt(size)*abs(small))
Stack:
  - stable_norm(Matrix<float, 1, 1>())
  - stable_norm
  - Seed: 1392142979


Program received signal SIGABRT, Aborted.
#0  0x00007ffff723e425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff7241b8b in __GI_abort () at abort.c:91
#2  0x000000000045455e in verify_impl (condition=false, testname=0x685308 "stable_norm(Matrix<float, 1, 1>())", 
    file=0x46c110 "/usr/local/google/home/bsteiner/EigenLatest/eigen/test/stable_norm.cpp", line=90, 
    condition_as_string=0x46c400 "test_isApprox(vsmall.stableNorm(), sqrt(size)*abs(small))")
    at /usr/local/google/home/bsteiner/EigenLatest/eigen/test/main.h:190
#3  0x0000000000455197 in stable_norm<Eigen::Matrix<float, 1, 1, 0, 1, 1> > (m=...)
    at /usr/local/google/home/bsteiner/EigenLatest/eigen/test/stable_norm.cpp:90
#4  0x0000000000454175 in test_stable_norm () at /usr/local/google/home/bsteiner/EigenLatest/eigen/test/stable_norm.cpp:106
#5  0x0000000000454091 in main (argc=2, argv=0x7fffffffde48) at /usr/local/google/home/bsteiner/EigenLatest/eigen/test/main.h:508
Comment 1 Gael Guennebaud 2014-02-13 15:46:43 UTC
I initially though about a false negative, but it was not. Fixed:

https://bitbucket.org/eigen/eigen/commits/774113905339/
Changeset:   774113905339
User:        ggael
Date:        2014-02-13 15:44:01
Summary:     Fix bug 740: overflow issue in stableNorm

Note You need to log in before you can comment on or make changes to this bug.