IceGenericError: failed to stat file, Pharo LAUNCHER images and long file names on Windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

IceGenericError: failed to stat file, Pharo LAUNCHER images and long file names on Windows

Torsten Bergmann
Hi,

Windows users of Pharo have been hit by an Iceberg error "IceGenericError: failed to stat file  ... The filename or extension is too long"
as seen in attached screenshot (for instance when loading Seaside from the original SeasideSt/Seaside master branch).

Initially the long filename (who make trouble on Windows according to the message) were blamed - and it was suggested to
have Seaside (or other projects) in Tonel format.

Johan wanted to try this - but initially it was not possible as Esteban had to provide a fix for
the Tonel converter first. This is now available. Following this fix today Johan provided a "tonel" branch
of Seaside to check.


Roelof Wobben and Mike Davis tried with me on Discord a few combinations and it seems there is a different cause.
It seems to be more related to having the image or image path including spaces AND dots.

So for instance Pharo Launcher suggests the download of Pharo 7 from the official distribution
to be named "Pharo 7.0 - 32bit (stable)". When you just accept the name the Pharo Launcher suggests then you may
hit the problem.

When you start such an image and try to load the FileTree (master) or Tonel version (tonel branch)
of Seaside using

Metacello new
 baseline:'Seaside3';
 repository: 'github://SeasideSt/Seaside:master/repository';
 load

or

Metacello new
 baseline:'Seaside3';
 repository: 'github://SeasideSt/Seaside:tonel/repository';
 load

you will get the error.

If you use "Foo" as the name for image it seems to work. Requires some more testing but I guess it
is related to the naming in Pharo Launcher with "dots" AND "spaces" instead of the long filenames.

"pharo 7.0  (stable)" fails
"seaside.test"        works
"seaside test"        works also
"seaside.  test"      works also
"seaside-test"        works also
"seaside(test)"       works also

Maybe more people can try other combinations on their Windows machines too. If our finding is true it
would be good if Laucher on Windows could nuke the dot/space combinations for instance by using underlines.

Thanks
T. (aka astares)

statfile.png (222K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: IceGenericError: failed to stat file, Pharo LAUNCHER images and long file names on Windows

Torsten Bergmann
If one downloads images with Launcher on Windows and accepts default names like "Pharo 7.0 - 32bit (stable)" this will end up in path names like

   "C:/Users/Admin/Documents/Pharo/images/Pharo 7.0 - 32bit (stable)"

The dot and space combination in such files can later make trouble when downloading projects (like Seaside) using Iceberg and libgit and leading
later to the  "IceGenericError: failed to stat file  ... The filename or extension is too long" problem.

I guess the dot in combination with spaces in the name is sometimes seen as the path element on current directory.

If one gives an own name like "LatestPharo7" in Launcher (having C:/Users/Admin/Documents/Pharo/images/LatestPharo7 then) Seaside loads
even from the FileTree format.


As many people prefer to use Launcher now these days they might easily hit this problem.

I opened an issue already for Launcher so this discussion here on ML is watched:
https://github.com/pharo-project/pharo-launcher/issues/327

Feedback and tests from Windows users are welcomed.

Reply | Threaded
Open this post in threaded view
|

Re: IceGenericError: failed to stat file, Pharo LAUNCHER images and long file names on Windows

ducasse
Thanks torsten. I think that christophe will react promptly.
I know that guille and pablo found a bug in the VM code related to files (and it crashes iceberg build).

Stef

> On 1 Apr 2019, at 21:25, Torsten Bergmann <[hidden email]> wrote:
>
> If one downloads images with Launcher on Windows and accepts default names like "Pharo 7.0 - 32bit (stable)" this will end up in path names like
>
>   "C:/Users/Admin/Documents/Pharo/images/Pharo 7.0 - 32bit (stable)"
>
> The dot and space combination in such files can later make trouble when downloading projects (like Seaside) using Iceberg and libgit and leading
> later to the  "IceGenericError: failed to stat file  ... The filename or extension is too long" problem.
>
> I guess the dot in combination with spaces in the name is sometimes seen as the path element on current directory.
>
> If one gives an own name like "LatestPharo7" in Launcher (having C:/Users/Admin/Documents/Pharo/images/LatestPharo7 then) Seaside loads
> even from the FileTree format.
>
>
> As many people prefer to use Launcher now these days they might easily hit this problem.
>
> I opened an issue already for Launcher so this discussion here on ML is watched:
> https://github.com/pharo-project/pharo-launcher/issues/327
>
> Feedback and tests from Windows users are welcomed.
>



Reply | Threaded
Open this post in threaded view
|

Re: IceGenericError: failed to stat file, Pharo LAUNCHER images and long file names on Windows

Guillermo Polito
In reply to this post by Torsten Bergmann
Hi,


On Mon, Apr 1, 2019 at 9:26 PM Torsten Bergmann <[hidden email]> wrote:
If one downloads images with Launcher on Windows and accepts default names like "Pharo 7.0 - 32bit (stable)" this will end up in path names like

   "C:/Users/Admin/Documents/Pharo/images/Pharo 7.0 - 32bit (stable)"

The dot and space combination in such files can later make trouble when downloading projects (like Seaside) using Iceberg and libgit and leading
later to the  "IceGenericError: failed to stat file  ... The filename or extension is too long" problem.

I guess the dot in combination with spaces in the name is sometimes seen as the path element on current directory.

If one gives an own name like "LatestPharo7" in Launcher (having C:/Users/Admin/Documents/Pharo/images/LatestPharo7 then) Seaside loads
even from the FileTree format.

Wow, this is weird :)

Would this be related too to this:
?


As many people prefer to use Launcher now these days they might easily hit this problem.

I opened an issue already for Launcher so this discussion here on ML is watched:
https://github.com/pharo-project/pharo-launcher/issues/327

Feedback and tests from Windows users are welcomed.


But still, the bug looks like a libgit bug, doesn't it?
I have in my hyper long TODO list to try to enhance libgit's windows support and contribute it back to libgit...