1. All translated tests failing - invalid routine id / error with status 1

I'm getting the following messages while running make test after building on Linux (CentOS 7).

Fatal run-time error: 
invalid routine id passed to crash_routine() 

FAILURE: [test name] EUPHORIA error with status 1 

What did I do wrong?

-Greg

new topic     » topic index » view message » categorize

2. Re: All translated tests failing - invalid routine id / error with status 1

I installed a CentOS 7 x64 VM on VirtualBox but to help yu I must first be able to build OE 4.1 and I need minimal instructions to do that cause it fails otherwise.

Jean-Marc

new topic     » goto parent     » topic index » view message » categorize

3. Re: All translated tests failing - invalid routine id / error with status 1

I have been able to compile EU 4.10 development version by tinkering a lot:

  • I copied 4.1.0 standard to both /euphoria and /usr/share/euphoria
  • I ran mkdir -p ./build/include/ after running make first because it failed
  • I copied /usr/share/euphoria/bin/eu.a to ./build/eu.a because it couldn't be built correctly

make test ends on following output:

Test results summary:                                                                                                                                                
    FAIL: t_abadcase.e                                                                                                                                               
    FAIL: bound t_abadcase-bound                                                                                                                                     
    FAIL: translated t_abadcase-translated                                                                                                                           
    FAIL: t_callc.e                                                                                                                                                  
    FAIL: bound t_callc-bound                                                                                                                                        
    FAIL: translated t_callc-translated                                                                                                                              
    FAIL: t_declasgn_wrning.e                                                                                                                                        
    FAIL: t_machine.e                                                                                                                                                
    FAIL: bound t_machine-bound                                                                                                                                      
    FAIL: t_map.e                                                                                                                                                    
    FAIL: bound t_map-bound                                                                                                                                          
    FAIL: translated t_map-translated                                                                                                                                
    FAIL: t_net_http.e                                                                                                                                               
    FAIL: bound t_net_http-bound                                                                                                                                     
    FAIL: translated t_net_http-translated                                                                                                                           
    FAIL: t_warning.e                                                                                                                                                
    FAIL: t_c_overflow_sbni.e                                                                                                                                        
    FAIL: t_c_overflow_sci1.e                                                                                                                                        
    FAIL: t_c_overflow_sci2.e                                                                                                                                        
    FAIL: t_c_overflow_sci3.e                                                                                                                                        
    FAIL: t_c_overflow_sci4.e                                                                                                                                        
    FAIL: t_c_overflow_sdnf.e                                                                                                                                        
    FAIL: t_c_overflow_sdni.e                                                                                                                                        
    FAIL: t_c_overflow_shni.e                                                                                                                                        
    FAIL: t_c_overflow_soni.e                                                                                                                                        
    FAIL: t_c_underflow_sci.e                                                                                                                                        
    FAIL: t_c_underflow_sdn.e                                                                                                                                        
Files (run: 406) (failed: 27) (93% success)                                                                                                                          

There are many different errors that lead to failures.

Jean-Marc

new topic     » goto parent     » topic index » view message » categorize

4. Re: All translated tests failing - invalid routine id / error with status 1

jmduro said...

I installed a CentOS 7 x64 VM on VirtualBox but to help yu I must first be able to build OE 4.1 and I need minimal instructions to do that cause it fails otherwise.

Sorry about that. I just pushed my fixes to Makefile.gnu. If you pull the latest copy and it should build correctly.

  1. Install "Development Tools" group and Mercurial.
    • sudo yum group install "Development Tools"
    • sudo yum install mercurial
  2. Download the Euphoria 4.1.0 Beta 2 and extract it to /usr/local.
    • wget http://sourceforge.net/projects/rapideuphoria/files/Euphoria/4.1.0-beta2/euphoria-4.1.0-Linux-x64-57179171dbed.tar.gz
    • sudo tar xzvf euphoria-4.1.0-Linux-x64-57179171dbed.tar.gz -C /usr/local
  3. Add /usr/local/euphoria-4.1.0-Linux-x64/bin to your PATH in .bash_profile.
    • sed -i 's#^PATH=\(.*\)#PATH=\1:/usr/local/euphoria-4.1.0-Linux-x64/bin#g' .bash_profile
    • Note: Log out and back in or close/reopen your shell for this to take effect.
  4. Check out the latest source.
    • hg clone http://scm.openeuphoria.org/hg/euphoria euphoria-hg
  5. Change to the source directory, then run configure and make and make tests.
    • cd euphoria-hg/source/
    • ./configure --target LINUX --release release --arch x86_64
    • make
    • make tests <-- this will fail

-Greg

new topic     » goto parent     » topic index » view message » categorize

5. Re: All translated tests failing - invalid routine id / error with status 1

jmduro said...

I have been able to compile EU 4.10 development version by tinkering a lot:

  • I copied 4.1.0 standard to both /euphoria and /usr/share/euphoria
  • I ran mkdir -p ./build/include/ after running make first because it failed
  • I copied /usr/share/euphoria/bin/eu.a to ./build/eu.a because it couldn't be built correctly

Yes, these are the things I have fixed Makefile.gnu.

-Greg

new topic     » goto parent     » topic index » view message » categorize

6. Re: All translated tests failing - invalid routine id / error with status 1

Thank you Greg,

I did not find the error but I think it is related to the -d CRASH command-line option.

The crash routine is set when the option is not set. For example, I get following error:

    FAIL: translated t_881-1-translated 
because I got previously this error:
translating t_881-1.e: 
Fatal run-time error: 
invalid routine id passed to crash_routine() 

This is what I find at the end of include/unittest.e:

ifdef not CRASH then 
 
function test_crash( object o ) 
        test_fail( "unittesting crashed" ) 
        test_report() 
        o = 0 
        return o 
end function 
error:crash_routine( routine_id( "test_crash" ) ) 
 
end ifdef 

Jean-Marc

new topic     » goto parent     » topic index » view message » categorize

7. Re: All translated tests failing - invalid routine id / error with status 1

Explanation might be there in eutest.ex:

 
 488         sequence crash_option = "" 
 489         if match("t_c_", filename) = 1 then 
 490                 crash_option = " -d CRASH " 
 491         end if 

May be crashing files should not match "t_c_" in their filename.

Jean-Marc

new topic     » goto parent     » topic index » view message » categorize

8. Re: All translated tests failing - invalid routine id / error with status 1

jmduro said...

Explanation might be there in eutest.ex:

 
 488         sequence crash_option = "" 
 489         if match("t_c_", filename) = 1 then 
 490                 crash_option = " -d CRASH " 
 491         end if 

May be crashing files should not match "t_c_" in their filename.

Jean-Marc

It's the other way around. If a test is supposed to crash, it should have "t_c_" in the file name and it should not define the crash_routine.

Basically Greg was getting tests that were supposed to have passed without crashing to crash. These are the ones that already do not have "t_c_" in their name.

new topic     » goto parent     » topic index » view message » categorize

9. Re: All translated tests failing - invalid routine id / error with status 1

Okay, I think I'm sniffing up the right tree here. I added a couple lines to the end of std/unittest.e. It looks like the translator is not getting the correct routine id for test_crash(). The interpreted and bound tests print test_crash_id = 7 but the translated test prints test_crash_id = 0. But at this point I'm not sure why.

ifdef not CRASH then 
 
function test_crash( object o ) 
    test_fail( "unittesting crashed" ) 
    test_report() 
    o = 0 
    return o 
end function 
integer test_crash_id = routine_id( "test_crash" ) 
printf( 1, "test_crash_id = %d\n", test_crash_id ) 
error:crash_routine( test_crash_id ) 
 
end ifdef 

interpreting t_881-1.e: 
test_crash_id = 7 
 
binding t_881-1.e: 
deleted 335 unused routines and 1386 unused variables. 
You may now run ./t_881-1-bound 
test_crash_id = 7 
 
translating t_881-1.e:test_crash_id = 0 
 
Fatal run-time error: 
invalid routine id passed to crash_routine() 
 
FAILURE: t_881-1 EUPHORIA error with status 1 
 
Test results summary: 
    FAIL: translated t_881-1-translated 
Files (run: 3) (failed: 1) (67% success) 

-Greg

new topic     » goto parent     » topic index » view message » categorize

10. Re: All translated tests failing - invalid routine id / error with status 1

I'm still having trouble figuring this out. It seems like 0 is a valid routine I'd in translated code, but it's as if the comparison in the if block isn't evaluating correctly, which is strange.

I'd appreciate any help on this. I feel like I'm stuck. Can anyone even reproduce my errors above?

-Greg

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu