Operations in LispWorks popping up shell windows on Mac OSX: hangs

Bug #1307172 reported by Robert P. Goldman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Fix Released
Critical
Unassigned

Bug Description

When I run the tests on LispWorks, I get windows popping up with strings like the following in them:

/var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/lwtemp_rpgoldman-4_2431116mWu6Sw.command ; exit;

I wonder if this is related to changes in run-program that broke CCL?

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

I am not yet sure, but LispWorks may also be hanging.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Yes, the tests are hanging now.

summary: - Concatenate operations in LispWorks popping up shell windows on Mac OSX
+ Operations in LispWorks popping up shell windows on Mac OSX: hangs
Changed in asdf:
importance: Undecided → Critical
Revision history for this message
Faré (fahree) wrote :

Oh, the change I made for debugging was to use :interactive, so as to get the error messages. I guess this could cause window popping on LispWorks for windows. I'll refactor it differently.

Can you at least run it that way with CCL and see what debugging output you get?

Revision history for this message
Faré (fahree) wrote :

Was that during test-program.script or something else?

Revision history for this message
Faré (fahree) wrote :

OK, I pushed a fix to test-program.script. Is it working now?

Revision history for this message
Robert P. Goldman (rpgoldman) wrote : Re: [Bug 1307172] Re: Operations in LispWorks popping up shell windows on Mac OSX: hangs

Faré wrote:
> OK, I pushed a fix to test-program.script. Is it working now?
>

Sorry, no. Fails in test-program now. Perhaps this is because we RUN-PROGRAM there, too, and that still has the interactive option?

Pops up a window with the following contents:

~ $ /var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/lwtemp_rpgoldman-4_364340VDKzKl.command ; exit;

and hangs.

Is this a problem with the tests, or does it mean that :interactive t simply doesn't work on LispWorks?

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :
Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Still hangs, with a popped up window not exiting. Is this a problem with :interactive T on run-program with LispWorks?

Revision history for this message
Faré (fahree) wrote :

1- there should be no more :interactive t.

2- It's not clear why the thing hangs. If you kill the Lisp *subprocess* only, do you get useful debug information from its stderr in the master process?

3- I suspect that the problem has to do with LispWorks being very bad with command-line arguments, and that we'd have to do something magic in the manner of cl-launch to get that right.

Maybe the solution here is to not use lisp-invocation.asd but instead cl-launch, which handles argument passing on LispWorks *and* already heeds the CCL and other environment variables.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Faré wrote:
> 1- there should be no more :interactive t.
>
> 2- It's not clear why the thing hangs. If you kill the Lisp *subprocess*
> only, do you get useful debug information from its stderr in the master
> process?
>
> 3- I suspect that the problem has to do with LispWorks being very bad
> with command-line arguments, and that we'd have to do something magic in
> the manner of cl-launch to get that right.
>
> Maybe the solution here is to not use lisp-invocation.asd but instead
> cl-launch, which handles argument passing on LispWorks *and* already
> heeds the CCL and other environment variables.
>

I'm afraid #2 doesn't give me anything useful. When I invoke kill -9 on the lwtemp processes, another window pops up immediately, and the console window with the original process shows no changes. Similarly, if I ^C them, I just get new windows. Nothing stops this unless I kill the make process.

I'm starting to wonder if a portable build-program isn't a bridge too far for ASDF....

Revision history for this message
Faré (fahree) wrote :

It works for me on LispWorks for Linux.

Please try again: I disabled the image-op test (but not the program-op test) for LispWorks/Windows, for now.

Revision history for this message
Faré (fahree) wrote :

Also, if windows keep popping up, there's possibly a bug in run-program and/or the way we're using it.

Revision history for this message
Faré (fahree) wrote :

Or maybe just a bug in the way we're trying to invoke LispWorks.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Faré wrote:
> It works for me on LispWorks for Linux.
>
> Please try again: I disabled the image-op test (but not the program-op
> test) for LispWorks/Windows, for now.
>

I think you need to do this for Mac OS X, not windows....

I'll see about doing that.

Revision history for this message
Faré (fahree) wrote :

OK, please adjust test-program.script.

Since this is a new test or new functionality, failure on Lispworks/Mac is not a regression and probably shouldn't prevent release — though it definitely needs to be investigated and remain open as a bug until properly solved.

Even if killing the subprocess leads to move console popping, please keep doing it and publish the test output.

Revision history for this message
Faré (fahree) wrote :

Robert reports that #+os-macosx fails to be detected by UIOP, because detect-os finds #+os-unix first and decides that that's exclusive with #+os-macosx.

This raises meaningful questions:
Should #+os-macosx be exclusive with #+os-unix or should the former imply the latter?
Should #+os-windows be exclusive with #+os-unix? If so, which should #+cygwin imply?

I don't think there is "a" single right answer, but the current code is obviously buggy.

run-program currently assumes os-unix vs os-windows, so will have to be amended if os-macosx comes before os-unix and makes it go away.

Revision history for this message
Faré (fahree) wrote :

OK, this patch makes os-macosx not exclusive with os-unix anymore.

TODO: check that indeed clisp and allegro, that seem to have some feature magic on macosx, do indeed detect os-unix.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Sorry; lost track of the above. I have checked on my laptop that :os-unix AND :os-macosx are both present in *FEATURES* on ACL and clisp.

I'm still getting those shell windows popping up, but I suspect that this is a bug in LISP-INVOCATION, not ASDF, right?

Revision history for this message
Faré (fahree) wrote :

It can be a bug in lisp-invocation and/or in uiop:run-program.

I know that cl-launch does much more than uiop:run-program to correctly pass arguments to lispworks. That could be the issue. Did you dump an image of LispWorks with the GUI disabled?

       echo '(hcl:save-image "lispworks" :environment nil)' > si.lisp
       lispworks-6-1-0-x86-linux -siteinit - -init - -build si.lisp

If not, that would be the issue.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Faré wrote:
> It can be a bug in lisp-invocation and/or in uiop:run-program.
>
> I know that cl-launch does much more than uiop:run-program to correctly
> pass arguments to lispworks. That could be the issue. Did you dump an
> image of LispWorks with the GUI disabled?
>
> echo '(hcl:save-image "lispworks" :environment nil)' > si.lisp
> lispworks-6-1-0-x86-linux -siteinit - -init - -build si.lisp
>
> If not, that would be the issue.
>

I am using an image that does NOT have the interface loaded. So I don't believe that's the problem.

Revision history for this message
Faré (fahree) wrote :

Please try with the latest lisp-invocation 1.0.1 and ASDF 3.1.0.118 (I had to fix yet another bug in with-temporary-file, sigh), and tell me if it works better.

Revision history for this message
Faré (fahree) wrote :

(Tests still pass for me on Linux x64 and LispWorks 6.1.0 (32-bit).)

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

This is actually a LISP-INVOCATION bug and not an ASDF bug, AFAICT.

Fare, is there a place we can refile this?

Changed in asdf:
milestone: asdf3-1 → none
Revision history for this message
Faré (fahree) wrote :

I believe the bug is fixed already. Please tell me if things still fail.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

I'm confused. I have a copy of lisp-invocation checked out and, according to git, it's up-to-date.

But when I run the tests on lispworks (removing the bit that turns run-program off on Mac OS), I see this:

Lisp-invocation library isn't new enough to test successfully. Skipping test-program.

Indeed, when I look at lisp-invocation-library, I see that it has version 1.0.0, and ASDF wants 1.0.1.

But if I can't get 1.0.1 from git, where do I get it?

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

D'oh: obviously necessary information:

~/lisp/lisp-invocation $ git remote -v
origin ssh://common-lisp.net/project/qitab/git/lisp-invocation.git (fetch)
origin ssh://common-lisp.net/project/qitab/git/lisp-invocation.git (push)

Revision history for this message
Faré (fahree) wrote :

My apologies, I had forgotten to push.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Nostalgia isn’t what it used to be.

On Sun, May 4, 2014 at 10:36 PM, Robert P. Goldman
<email address hidden> wrote:
> D'oh: obviously necessary information:
>
> ~/lisp/lisp-invocation $ git remote -v
> origin ssh://common-lisp.net/project/qitab/git/lisp-invocation.git (fetch)
> origin ssh://common-lisp.net/project/qitab/git/lisp-invocation.git (push)
>
> --
> You received this bug notification because you are a member of ASDF
> hackers, which is subscribed to ASDF.
> https://bugs.launchpad.net/bugs/1307172
>
> Title:
> Operations in LispWorks popping up shell windows on Mac OSX: hangs
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/asdf/+bug/1307172/+subscriptions

Changed in asdf:
milestone: none → asdf3-1
status: New → Fix Committed
Changed in asdf:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.