[Pharo-project] ConfigurationOfOSProcessCommandShell
PipeableOSProcess is broken on Linux. It appears to be because FileDirectory default fileExists:'/bin/sh' is returning false in 1.1. Any ideas? Bill -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 3:38 PM To: Pharo-project@lists.gforge.inria.fr Subject: [Pharo-project] ConfigurationOfOSProcessCommandShell Installing it blows up over a WindowColorSpec. _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
To get going again, I hacked FileDirectory>>fileExists: to answer true when passed '/bin/sh' and suddenly I can pipe again, so there has been some kind of change in testing for files. -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 4:05 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] ConfigurationOfOSProcessCommandShell PipeableOSProcess is broken on Linux. It appears to be because FileDirectory default fileExists:'/bin/sh' is returning false in 1.1. Any ideas? Bill -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 3:38 PM To: Pharo-project@lists.gforge.inria.fr Subject: [Pharo-project] ConfigurationOfOSProcessCommandShell Installing it blows up over a WindowColorSpec. _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 23.06.2010 23:13, Schwab,Wilhelm K wrote:
To get going again, I hacked FileDirectory>>fileExists: to answer true when passed '/bin/sh' and suddenly I can pipe again, so there has been some kind of change in testing for files.
-----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 4:05 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] ConfigurationOfOSProcessCommandShell
PipeableOSProcess is broken on Linux. It appears to be because
FileDirectory default fileExists:'/bin/sh'
is returning false in 1.1. Any ideas?
Bill Yes, it was changed to use the open file primitive instead of iterating over the entire directory contents, and making assumptions about filesystem case sensitivity which may or may not be correct. There's something funky going on with the sh link in Ubuntu 10.04... fileExists: '/bin/dash' (what sh links to) evaluates true I tested first with links on the desktops, worked just fine. Created another link to a file in /bin/, worked just fine. Created another link in /bin/, to another executable in /bin/, fileExists still returned true. Checked the permissions, they were the same. Deleted sh, created a new link to dash also called sh, that evaluated to true as well... I'm no expert on the Unix file system, really not sure what/if there is a wrong assumption in the modified method is...
Reason it was changed in the first place, is documented at http://code.google.com/p/pharo/issues/detail?id=516 Cheers, Henry
On 24.06.2010 02:41, Henrik Sperre Johansen wrote:
On 23.06.2010 23:13, Schwab,Wilhelm K wrote:
To get going again, I hacked FileDirectory>>fileExists: to answer true when passed '/bin/sh' and suddenly I can pipe again, so there has been some kind of change in testing for files.
-----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 4:05 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] ConfigurationOfOSProcessCommandShell
PipeableOSProcess is broken on Linux. It appears to be because
FileDirectory default fileExists:'/bin/sh'
is returning false in 1.1. Any ideas?
Bill Yes, it was changed to use the open file primitive instead of iterating over the entire directory contents, and making assumptions about filesystem case sensitivity which may or may not be correct. There's something funky going on with the sh link in Ubuntu 10.04... fileExists: '/bin/dash' (what sh links to) evaluates true I tested first with links on the desktops, worked just fine. Created another link to a file in /bin/, worked just fine. Created another link in /bin/, to another executable in /bin/, fileExists still returned true. Checked the permissions, they were the same. Deleted sh, created a new link to dash also called sh, that evaluated to true as well... I'm no expert on the Unix file system, really not sure what/if there is a wrong assumption in the modified method is...
Reason it was changed in the first place, is documented at http://code.google.com/p/pharo/issues/detail?id=516
Cheers, Henry Difference between the links was sh was relative (sh -> dash), while my replacement was absolute (sh -> /bin/dash). FilePlugin primitiveFileOpen opens the latter, but returns nil with the first, thus fileExists fails... I wrote a small c program simply opening sh with fopen, and that worked as expected, so there's probably an error in the wrapping plugin code somewhere :/
Cheers, Henry
On Jun 24, 2010, at 3:33 07AM, Henrik Sperre Johansen wrote:
On 24.06.2010 02:41, Henrik Sperre Johansen wrote:
On 23.06.2010 23:13, Schwab,Wilhelm K wrote:
To get going again, I hacked FileDirectory>>fileExists: to answer true when passed '/bin/sh' and suddenly I can pipe again, so there has been some kind of change in testing for files.
-----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 4:05 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] ConfigurationOfOSProcessCommandShell
PipeableOSProcess is broken on Linux. It appears to be because
FileDirectory default fileExists:'/bin/sh'
is returning false in 1.1. Any ideas?
Bill
Difference between the links was sh was relative (sh -> dash), while my replacement was absolute (sh -> /bin/dash). FilePlugin primitiveFileOpen opens the latter, but returns nil with the first, thus fileExists fails... I wrote a small c program simply opening sh with fopen, and that worked as expected, so there's probably an error in the wrapping plugin code somewhere :/
Cheers, Henry
After some investigation, and a report to the dev list, it turned out a fix was already present in Cog :) If you need a VM working with 1.1 urgently, the modified file (for a 2202 build) is attached to the 4th post in http://forum.world.st/Unix-VM-alias-resolving-bug-td2267360.html#a2267360 . Cheers, Henry
Henry, Thanks for the quick response! My shameless hack appears to be covering for it, so I will probably just hold there. If only my torching Seaside app were as easily tamed :( It is very likely just a stupid mistake on my part. My one complaint about Seaside is that doing something stupid can lead to ugly meltdowns, I suspect due to continuations. I will ponder in the open whether this might be due to my ConnectionQueue changes, but then it would have to explain why only one app goes down in flames while others work as expected. Bill -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Henrik Johansen Sent: Thursday, June 24, 2010 1:10 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] ConfigurationOfOSProcessCommandShell On Jun 24, 2010, at 3:33 07AM, Henrik Sperre Johansen wrote:
On 24.06.2010 02:41, Henrik Sperre Johansen wrote:
On 23.06.2010 23:13, Schwab,Wilhelm K wrote:
To get going again, I hacked FileDirectory>>fileExists: to answer true when passed '/bin/sh' and suddenly I can pipe again, so there has been some kind of change in testing for files.
-----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Wednesday, June 23, 2010 4:05 PM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] ConfigurationOfOSProcessCommandShell
PipeableOSProcess is broken on Linux. It appears to be because
FileDirectory default fileExists:'/bin/sh'
is returning false in 1.1. Any ideas?
Bill
Difference between the links was sh was relative (sh -> dash), while my replacement was absolute (sh -> /bin/dash). FilePlugin primitiveFileOpen opens the latter, but returns nil with the first, thus fileExists fails... I wrote a small c program simply opening sh with fopen, and that worked as expected, so there's probably an error in the wrapping plugin code somewhere :/
Cheers, Henry
After some investigation, and a report to the dev list, it turned out a fix was already present in Cog :) If you need a VM working with 1.1 urgently, the modified file (for a 2202 build) is attached to the 4th post in http://forum.world.st/Unix-VM-alias-resolving-bug-td2267360.html#a2267360 . Cheers, Henry _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (3)
-
Henrik Johansen -
Henrik Sperre Johansen -
Schwab,Wilhelm K