Opened 9 years ago

Closed 9 years ago

#14042 closed defect (fixed)

Failure in "R --version" test in sage/misc/interpreter.py

Reported by: jdemeyer Owned by: jason
Priority: blocker Milestone: sage-5.7
Component: misc Keywords:
Cc: Merged in: sage-5.7.beta3
Authors: John Palmieri Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

This happens on some OS X installations:

sage -t  --long -force_lib devel/sage/sage/misc/interpreter.py
dyld: Library not loaded: /Users/buildbot/sage-5.2/local/lib/libreadline.6.2.dylib
  Referenced from: /Users/buildbot/build/sage/bsd-1/bsd_upgrade_5.2/build/sage-5.7.beta2/local/lib/R//lib/libR.dylib
  Reason: image not found
sh: line 1: 13937 Trace/BPT trap          R --version
**********************************************************************
File "/Users/buildbot/build/sage/bsd-1/bsd_upgrade_5.2/build/sage-5.7.beta2/devel/sage-main/sage/misc/interpreter.py", line 189:
    sage: os.WIFEXITED(status) and os.WEXITSTATUS(status) == 0
Expected:
    True
Got:
    False
**********************************************************************

The problem is that split() doesn't do what was intented:

sage: cmd="R --version"
sage: cmd.split(' |\n\t;&',1)
['R --version']

Attachments (1)

trac_14042.patch (948 bytes) - added by jhpalmieri 9 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 follow-up: Changed 9 years ago by kcrisman

Is this a specific version of OS X that causes the problem? I haven't seen this on 10.7 or 10.4.

$ ./sage -t --long -force_lib devel/sage/sage/misc/interpreter.py
sage -t --long -force_lib "devel/sage/sage/misc/interpreter.py"
	 [25.6 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 25.7 seconds

comment:2 Changed 9 years ago by jdemeyer

It's on OS X 10.6. I haven't determined the actual circumstances under which it occurs, but there is clearly a bug in the use of the split() method.

comment:3 in reply to: ↑ 1 Changed 9 years ago by jdemeyer

Replying to kcrisman:

Is this a specific version of OS X that causes the problem?

Perhaps relocating the Sage tree causes the failure.

comment:4 Changed 9 years ago by kcrisman

You're right about that bad use of split. This doesn't happen on my 10.4 or 10.7.

This is pretty new code, in a 5.7 beta - maybe the people at that patch would know more?

comment:5 follow-up: Changed 9 years ago by jhpalmieri

I think that this is a combination of a bad use of split and Sage not relocating correctly. On my OS X 10.8.2 box, I see

sage -t  "devel/sage/sage/misc/interpreter.py"              
dyld: Library not loaded: /Users/palmieri/Desktop/Sage_stuff/sage_builds/clean/sage-5.7.beta1/local/lib/libgomp.1.dylib
  Referenced from: /Users/palmieri/Desktop/Sage_stuff/sage_builds/sage-5.7.beta1/local/lib/R//bin/exec/R
  Reason: image not found

But notice that the referenced library is supposed to be in sage_builds/clean/... while Sage has actually been moved to sage_builds/....

So: the use of split should be fixed here. The rest of this is perhaps covered by #9668.

Changed 9 years ago by jhpalmieri

comment:6 Changed 9 years ago by jhpalmieri

I think this patch should do it.

comment:7 in reply to: ↑ 5 Changed 9 years ago by jdemeyer

Replying to jhpalmieri:

The rest of this is perhaps covered by #9668.

I doubt it, that seems to be a different issue.

comment:8 Changed 9 years ago by jdemeyer

  • Authors set to John Palmieri
  • Status changed from new to needs_review

comment:9 Changed 9 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

comment:10 Changed 9 years ago by jdemeyer

  • Merged in set to sage-5.7.beta3
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.