Occasional seg fault in make check at dispatch.cc

John W. Eaton jwe at octave.org
Wed Feb 4 18:54:40 CST 2009


On  4-Feb-2009, Ben Abbott wrote:

| 
| On Feb 4, 2009, at 6:02 PM, Michael D. Godfrey wrote:
| 
| >>
| >> his problem was also reported here:
| >>
| >>  https://www-old.cae.wisc.edu/pipermail/bug-octave/2009-January/007770.html
| > Right.  This is a Linux quite a bit different from Fedora fc10, but  
| > the
| > system
| > is also 64bit.  Anything else I can provide?
| >
| > Michael
| 
| In the unlikely event my experience sheds some light ... my 64 bit Mac  
| also seg-faults fairly reliably during the initial "make check"
| 
| Integrated test scripts:
| 
|    src/DLD-FUNCTIONS/besselj.cc ........................... PASS   
| 180/180
|    src/DLD-FUNCTIONS/betainc.cc ........................... PASS    6/6
|    src/DLD-FUNCTIONS/bsxfun.cc ............................ PASS   55/55
|    src/DLD-FUNCTIONS/cellfun.cc ........................... PASS   74/74
|    src/DLD-FUNCTIONS/chol.cc .............................. PASS   23/23
|    src/DLD-FUNCTIONS/conv2.cc ............................. PASS    2/2
|    src/DLD-FUNCTIONS/dassl.cc ............................. PASS    4/4
|    src/DLD-FUNCTIONS/det.cc ............................... PASS    5/5
|    src/DLD-FUNCTIONS/dispatch.cc ..........................make[2]:  
| *** [check] Segmentation fault
| make[1]: *** [check] Error 2
| make: *** [check] Error 2
| 
| If I issue a subsequent "make check" it usually fails 1 of 13 tests.
| 
|    src/DLD-FUNCTIONS/besselj.cc ........................... PASS   
| 180/180
|    src/DLD-FUNCTIONS/betainc.cc ........................... PASS    6/6
|    src/DLD-FUNCTIONS/bsxfun.cc ............................ PASS   55/55
|    src/DLD-FUNCTIONS/cellfun.cc ........................... PASS   74/74
|    src/DLD-FUNCTIONS/chol.cc .............................. PASS   23/23
|    src/DLD-FUNCTIONS/conv2.cc ............................. PASS    2/2
|    src/DLD-FUNCTIONS/dassl.cc ............................. PASS    4/4
|    src/DLD-FUNCTIONS/det.cc ............................... PASS    5/5
|    src/DLD-FUNCTIONS/dispatch.cc .......................... PASS    
| 12/13   FAIL 1
|    src/DLD-FUNCTIONS/dlmread.cc ........................... PASS   20/20
| 
|  From fntest.log
| 
|   19 >>>>> processing /Users/bpabbott/Development/mercurial/ 
| octave-3.1.51/src/DLD-FUNCTIONS/dispatch.cc
|   20   ***** test # replace base m-file
|   21  echo_to_file ('function a=dispatch_x(a)', "dispatch_x.m");
|   22  dispatch('dispatch_x','length','string')
|   23  assert(dispatch_x(3),3)
|   24  assert(dispatch_x("a"),1)
|   25  sleep (2);
|   26  echo_to_file ('function a=dispatch_x(a),++a;', "dispatch_x.m");
|   27  rehash();
|   28  assert(dispatch_x(3),4)
|   29  assert(dispatch_x("a"),1)
|   30 !!!!! test failed
|   31 `dispatch_x' undefined near line 5 column 9>>>>> processing / 
| Users/bpabbott/Development/mercurial/octave3.1.51/src/DLD-FUNCTIONS/ 
| dlmread.cc
| 
| When I run Octave and "test dispatch.cc" I do  not encounter any  
| problems.

Does the following patch have any effect for you?  For me, it seems to
help avoid the hanging problem I was seeing earlier during the initial
"make check" after a build, and the dispatch failure like you were
seeing above on (nearly all) subsequent runs.

I don't claim that this is a fix for the underlying problem, but if
this change avoids the problem by using some variation of the delay
parameters to the echo_to_file function used by the test, then maybe
we can discover and fix the underlying problem.

Looking at these tests now, I think the "sleep (2)" there indicates
that someone might have noticed a related problem at some earlier
time.

jwe

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diffs
Url: https://www-old.cae.wisc.edu/pipermail/bug-octave/attachments/20090204/44c13de6/attachment.ksh 


More information about the Bug-octave mailing list