[Pharo-project] Opening image multiple times - bug or feature?
Hello all, I'm getting Ubuntu configured on my new $400 laptop, and just noticed that I can load one Pharo image at least twice w/o any error messages. Is that good or bad? I'm inclined to say it is bad, with caveats below. I mentioned caveats: I have mixed feelings about Pharo's emulated/MDI GUI. There have been (rare) times when it would have been nice to be able to do something similar on Dolphin. If there is a reason to run multiple IDEs on one box, having them clearly separated by a single main window has some advantages. Bill
On Fri, Sep 25, 2009 at 7:14 AM, Schwab,Wilhelm K <bschwab@anest.ufl.edu>wrote:
Hello all,
I'm getting Ubuntu configured on my new $400 laptop, and just noticed that I can load one Pharo image at least twice w/o any error messages. Is that good or bad? I'm inclined to say it is bad, with caveats below.
I mentioned caveats: I have mixed feelings about Pharo's emulated/MDI GUI. There have been (rare) times when it would have been nice to be able to do something similar on Dolphin. If there is a reason to run multiple IDEs on one box, having them clearly separated by a single main window has some advantages.
Did Pharo implement image locking to prevent this? You'll notice that if you save code from both running instances, your .changes file will be corrupted. Otherwise it works fine. Gulik -- http://gulik.pbwiki.com/
El jue, 24-09-2009 a las 15:14 -0400, Schwab,Wilhelm K escribió:
Hello all,
I'm getting Ubuntu configured on my new $400 laptop, and just noticed that I can load one Pharo image at least twice w/o any error messages. Is that good or bad? I'm inclined to say it is bad, with caveats below.
Isn't a problem at all, at least as you don't save both images because the share the changes files.
I mentioned caveats: I have mixed feelings about Pharo's emulated/MDI GUI. There have been (rare) times when it would have been nice to be able to do something similar on Dolphin. If there is a reason to run multiple IDEs on one box, having them clearly separated by a single main window has some advantages.
By exploting this feature, you can launch a lot of running images from the same disk image and, as long as you don't save them, you can, for example, scale Seaside applications.
Bill
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Miguel Cobá http://miguel.leugim.com.mx
It's a feature, the virtual machines take care to only open the image file as read-only and read it into memory, then close it. Optionally on the macintosh, and always on the iPhone the image could be mmapped by the Virtual memory manager's file vnode mapper instead of being read into memory in a single read. It's only opened as writeable if you save the image. The changes and source file if found are opened and managed like so: /Users/johnmci/Documents/Squeak3.8.0/build/SqueakV39.sources {If found, this is opened read only} /Users/johnmci/Shared/PharoCore-1.0-10451-BETA/PharoCore-1.0-10451- BETA.changes {If found, this is opened first as read/write, but can fall back to read only} The error generated by not finding the changes/sources depends on your image preferences. IE ignore missing changes/source file On 2009-09-24, at 12:14 PM, Schwab,Wilhelm K wrote:
Hello all,
I'm getting Ubuntu configured on my new $400 laptop, and just noticed that I can load one Pharo image at least twice w/o any error messages. Is that good or bad? I'm inclined to say it is bad, with caveats below.
I mentioned caveats: I have mixed feelings about Pharo's emulated/ MDI GUI. There have been (rare) times when it would have been nice to be able to do something similar on Dolphin. If there is a reason to run multiple IDEs on one box, having them clearly separated by a single main window has some advantages.
Bill
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- = = = ======================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
Schwab,Wilhelm K wrote:
Hello all,
I'm getting Ubuntu configured on my new $400 laptop, and just noticed that I can load one Pharo image at least twice w/o any error messages. Is that good or bad? I'm inclined to say it is bad, with caveats below.
It's because unix allows you to open a file for write multiple times. This also applies to in-image code which can make for interesting platform dependant bugs when running on platforms that don't allow this, like windows.
Actually the WIndows VM use to lie, might still, if you opened a file READ/WRITE but it was read only, like on a CD, then the windows VM would say SURE no problem. This caused grief for macintosh users using one- click apps on a CD because we would cause a walkback saying we couldn't open the file READ/WRITE. The *fix* in etoys was to alter the file open (read/write) and silently fall back to saying oops try again (read-only) if it fails. Versus fixing all the places where you opened a file for reading, but as read/write (by default). On 2009-09-24, at 4:44 PM, Douglas Brebner wrote:
Schwab,Wilhelm K wrote:
Hello all,
I'm getting Ubuntu configured on my new $400 laptop, and just noticed that I can load one Pharo image at least twice w/o any error messages. Is that good or bad? I'm inclined to say it is bad, with caveats below.
It's because unix allows you to open a file for write multiple times. This also applies to in-image code which can make for interesting platform dependant bugs when running on platforms that don't allow this, like windows.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- = = = ======================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
John M McIntosh wrote:
Actually the WIndows VM use to lie, might still, if you opened a file READ/WRITE but it was read only, like on a CD, then the windows VM would say SURE no problem. This caused grief for macintosh users using one- click apps on a CD because we would cause a walkback saying we couldn't open the file READ/WRITE.
The problem I had was code that was written on unix that opened the same file twice in write mode in the initialization methods. Broke nastily on windows with confusing exceptions and leaking file handles iirc. BTW, opening an image twice at the same time on windows give the "changes file not accessible" popup at startup of the second image.
2009/9/25 Douglas Brebner <squeaklists@fang.demon.co.uk>:
John M McIntosh wrote:
Actually the WIndows VM use to lie, might still, if you opened a file READ/WRITE but it was read only, like on a CD, then the windows VM would say SURE no problem. Â This caused grief for macintosh users using one- click apps on a CD because we would cause a walkback saying we couldn't open the file READ/WRITE.
The problem I had was code that was written on unix that opened the same file twice in write mode in the initialization methods. Broke nastily on windows with confusing exceptions and leaking file handles iirc.
BTW, opening an image twice at the same time on windows give the "changes file not accessible" popup at startup of the second image.
Right, because on windows you can obtain an exclusive write-lock on a file for a process and disallow others to open it for writing. AFAIK, POSIX systems also allowing locking the file handle through using ioctl().
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
Igor Stasenko wrote:
2009/9/25 Douglas Brebner <squeaklists@fang.demon.co.uk>:
John M McIntosh wrote:
Actually the WIndows VM use to lie, might still, if you opened a file READ/WRITE but it was read only, like on a CD, then the windows VM would say SURE no problem. This caused grief for macintosh users using one- click apps on a CD because we would cause a walkback saying we couldn't open the file READ/WRITE.
The problem I had was code that was written on unix that opened the same file twice in write mode in the initialization methods. Broke nastily on windows with confusing exceptions and leaking file handles iirc.
BTW, opening an image twice at the same time on windows give the "changes file not accessible" popup at startup of the second image.
Right, because on windows you can obtain an exclusive write-lock on a file for a process and disallow others to open it for writing. AFAIK, POSIX systems also allowing locking the file handle through using ioctl().
Yep, and windows isn't the only one that does this by default, it's merely the most common :)
participants (6)
-
Douglas Brebner -
Igor Stasenko -
John M McIntosh -
Michael van der Gulik -
Miguel Enrique Cobá Martinez -
Schwab,Wilhelm K