[vwnc] Loading binary packages creates *.pst files. Why??

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

[vwnc] Loading binary packages creates *.pst files. Why??

Terry Raymond
The subject says it.

Why can't the source be placed into the changes file. Doing
so simplifies distributing an image and its sources.

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

[vwnc] Shadow loading - was ": Loading binary packages creates *.pst files. Why??"

Terry Raymond
I just noticed the "Use shadow loader" setting. So I tried
it and determined I can use it instead of a binary package.

Why is this not always enabled?

If it is slower, then maybe there could be a package property
that specifies it be loaded using the shadow loader.

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On Behalf
> Of Terry Raymond
> Sent: Thursday, June 05, 2008 3:33 PM
> To: VWNC
> Subject: [vwnc] Loading binary packages creates *.pst files. Why??
>
> The subject says it.
>
> Why can't the source be placed into the changes file. Doing
> so simplifies distributing an image and its sources.
>
> Terry
>
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Shadow loading - was ": Loading binary packages creates*.pst files. Why??"

Boris Popov, DeepCove Labs (SNN)
Terry,

I think it's just broken in some cases. I had tried loading our bundle
once in the late pre 7.6 build with it turned on and it failed quite
miserably. Maybe things have changed in the final 7.6, but I hadn't
tried it yet.

-Boris

--
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

[hidden email]

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On
Behalf

> Of Terry Raymond
> Sent: Thursday, June 05, 2008 12:47 PM
> To: 'VWNC'
> Subject: [vwnc] Shadow loading - was ": Loading binary packages
> creates*.pst files. Why??"
>
> I just noticed the "Use shadow loader" setting. So I tried
> it and determined I can use it instead of a binary package.
>
> Why is this not always enabled?
>
> If it is slower, then maybe there could be a package property
> that specifies it be loaded using the shadow loader.
>
> Terry
>
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
> > -----Original Message-----
> > From: [hidden email] [mailto:[hidden email]] On
> Behalf
> > Of Terry Raymond
> > Sent: Thursday, June 05, 2008 3:33 PM
> > To: VWNC
> > Subject: [vwnc] Loading binary packages creates *.pst files. Why??
> >
> > The subject says it.
> >
> > Why can't the source be placed into the changes file. Doing
> > so simplifies distributing an image and its sources.
> >
> > Terry
> >
> > ===========================================================
> > Terry Raymond
> > Crafted Smalltalk
> > 80 Lazywood Ln.
> > Tiverton, RI  02878
> > (401) 624-4517      [hidden email]
> > <http://www.craftedsmalltalk.com>
> > ===========================================================
> >
> >
> > _______________________________________________
> > vwnc mailing list
> > [hidden email]
> > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Shadow loading - was ": Loading binary packages creates*.pst files. Why??"

Samuel S. Shuster
Boris:

> I think it's just broken in some cases. I had tried loading our bundle
> once in the late pre 7.6 build with it turned on and it failed quite
> miserably. Maybe things have changed in the final 7.6, but I hadn't
> tried it yet.


Yes, it is. But we're working now to fix it and move it into  
production (and be on by default) for 7.7

                                 And So It Goes
                                      Sames
______________________________________________________________________

Samuel S. Shuster [|]
VisualWorks Engineering, Store Project
Smalltalk Enables Success -- What Are YOU Using?




_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

kobetic
In reply to this post by Terry Raymond
I'm just guessing, but presumably doing it that way would require fixing up all the source pointers in the binary loaded methods to point to the updated changes file. Not impossible, but this way it was probably quite a bit easier.

Terry Raymond wrote:

> The subject says it.
>
> Why can't the source be placed into the changes file. Doing
> so simplifies distributing an image and its sources.
>
> Terry
>  
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

kobetic
In reply to this post by Terry Raymond
I'm just guessing, but presumably doing it that way would require fixing up all the source pointers in the binary loaded methods to point to the updated changes file. Not impossible, but this way it was probably quite a bit easier.

Martin

Terry Raymond wrote:

> The subject says it.
>
> Why can't the source be placed into the changes file. Doing
> so simplifies distributing an image and its sources.
>
> Terry
>  
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

Terry Raymond
In reply to this post by kobetic
Martin

Well, I suspect that it was a reuse of parcel code. But
if you think about it, you have to write the source onto
a stream, does it matter if the stream is the changes file
instead of a *.pst file?

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: Martin Kobetic [mailto:[hidden email]]
> Sent: Thursday, June 05, 2008 6:19 PM
> To: Terry Raymond
> Cc: VWNC
> Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why??
>
> I'm just guessing, but presumably doing it that way would require fixing
> up all the source pointers in the binary loaded methods to point to the
> updated changes file. Not impossible, but this way it was probably quite a
> bit easier.
>
> Terry Raymond wrote:
> > The subject says it.
> >
> > Why can't the source be placed into the changes file. Doing
> > so simplifies distributing an image and its sources.
> >
> > Terry
> >
> > ===========================================================
> > Terry Raymond
> > Crafted Smalltalk
> > 80 Lazywood Ln.
> > Tiverton, RI  02878
> > (401) 624-4517      [hidden email]
> > <http://www.craftedsmalltalk.com>
> > ===========================================================
> >
> >
> > _______________________________________________
> > vwnc mailing list
> > [hidden email]
> > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
> >

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

Georg Heeg
Terry and Martin,

Your guesses are right. The entire "publish binary" machanism is the parcel
mechanism. Upon publishing the .pst and -pcl files are built in internal
streams and then written into BLOBs in the database. Upon load the .pst BLOB
is copied onto disk before the .pcl BLOB contents is read into an internal
stream and the parcel reading mechanism starts.

The downside of changing this to copying the pst BLOB contents into the
changes file would create a significant growth of the changes file when you
read multiple versions. In a source load only changed methods and copy those
methods are copied into the changes file.

What I would propose instead is a menu item like "condense changes" called
"consolidate changes" which also includes the stuff loaded binary.

Georg

Georg Heeg eK, Dortmund und Köthen, HR Dortmund A 12812
Tel. +49-3496-214328, Fax +49-3496-214712

> -----Ursprüngliche Nachricht-----
> Von: [hidden email] [mailto:[hidden email]] Im Auftrag
> von Terry Raymond
> Gesendet: Freitag, 6. Juni 2008 03:35
> An: 'VWNC'
> Betreff: Re: [vwnc] Loading binary packages creates *.pst files. Why??
>
> Martin
>
> Well, I suspect that it was a reuse of parcel code. But
> if you think about it, you have to write the source onto
> a stream, does it matter if the stream is the changes file
> instead of a *.pst file?
>
> Terry
>
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
> > -----Original Message-----
> > From: Martin Kobetic [mailto:[hidden email]]
> > Sent: Thursday, June 05, 2008 6:19 PM
> > To: Terry Raymond
> > Cc: VWNC
> > Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why??
> >
> > I'm just guessing, but presumably doing it that way would require fixing
> > up all the source pointers in the binary loaded methods to point to the
> > updated changes file. Not impossible, but this way it was probably quite
> a
> > bit easier.
> >
> > Terry Raymond wrote:
> > > The subject says it.
> > >
> > > Why can't the source be placed into the changes file. Doing
> > > so simplifies distributing an image and its sources.
> > >
> > > Terry
> > >
> > > ===========================================================
> > > Terry Raymond
> > > Crafted Smalltalk
> > > 80 Lazywood Ln.
> > > Tiverton, RI  02878
> > > (401) 624-4517      [hidden email]
> > > <http://www.craftedsmalltalk.com>
> > > ===========================================================
> > >
> > >
> > > _______________________________________________
> > > vwnc mailing list
> > > [hidden email]
> > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
> > >
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

Terry Raymond
Georg

> -----Original Message-----
> From: Georg Heeg [mailto:[hidden email]]
> Sent: Friday, June 06, 2008 2:37 AM
> To: 'Terry Raymond'; 'VWNC'
> Subject: AW: [vwnc] Loading binary packages creates *.pst files. Why??
>
> Terry and Martin,
>
> Your guesses are right. The entire "publish binary" machanism is the
> parcel
> mechanism. Upon publishing the .pst and -pcl files are built in internal
> streams and then written into BLOBs in the database. Upon load the .pst
> BLOB
> is copied onto disk before the .pcl BLOB contents is read into an internal
> stream and the parcel reading mechanism starts.
>
> The downside of changing this to copying the pst BLOB contents into the
> changes file would create a significant growth of the changes file when
> you
> read multiple versions. In a source load only changed methods and copy
> those
> methods are copied into the changes file.
>
> What I would propose instead is a menu item like "condense changes" called
> "consolidate changes" which also includes the stuff loaded binary.

This would probably be an acceptable alternative. I assume this could
also be used to consolidate ordinary parcel source.

What I would like to see is an option that would redirect loaded source
to a local *.sou file instead of the *.cha file. This is something that
Olaf did a few years ago. It has the advantage of making it easier to
recover a crashed image from the changes file, i.e. a lot less code
has to be reviewed.

One other nit I noticed, when a method is overridden its source is
stored in the source pointer. However, there is a slight problem with
this. If the method is an original vw method, i.e. its source is stored
in the system .sou file, when the method is restored its pointer no
longer points to the .sou file. The nice thing about having its pointer
point to the .sou file is that you know that it is no longer in a
modified state. Reviewing method pointers is a nice way of finding
modified methods.

> Georg
>
> Georg Heeg eK, Dortmund und Köthen, HR Dortmund A 12812
> Tel. +49-3496-214328, Fax +49-3496-214712
>
> > -----Ursprüngliche Nachricht-----
> > Von: [hidden email] [mailto:[hidden email]] Im
> Auftrag
> > von Terry Raymond
> > Gesendet: Freitag, 6. Juni 2008 03:35
> > An: 'VWNC'
> > Betreff: Re: [vwnc] Loading binary packages creates *.pst files. Why??
> >
> > Martin
> >
> > Well, I suspect that it was a reuse of parcel code. But
> > if you think about it, you have to write the source onto
> > a stream, does it matter if the stream is the changes file
> > instead of a *.pst file?
> >
> > Terry
> >
> > ===========================================================
> > Terry Raymond
> > Crafted Smalltalk
> > 80 Lazywood Ln.
> > Tiverton, RI  02878
> > (401) 624-4517      [hidden email]
> > <http://www.craftedsmalltalk.com>
> > ===========================================================
> >
> > > -----Original Message-----
> > > From: Martin Kobetic [mailto:[hidden email]]
> > > Sent: Thursday, June 05, 2008 6:19 PM
> > > To: Terry Raymond
> > > Cc: VWNC
> > > Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why??
> > >
> > > I'm just guessing, but presumably doing it that way would require
> fixing
> > > up all the source pointers in the binary loaded methods to point to
> the
> > > updated changes file. Not impossible, but this way it was probably
> quite
> > a
> > > bit easier.
> > >
> > > Terry Raymond wrote:
> > > > The subject says it.
> > > >
> > > > Why can't the source be placed into the changes file. Doing
> > > > so simplifies distributing an image and its sources.
> > > >
> > > > Terry
> > > >
> > > > ===========================================================
> > > > Terry Raymond
> > > > Crafted Smalltalk
> > > > 80 Lazywood Ln.
> > > > Tiverton, RI  02878
> > > > (401) 624-4517      [hidden email]
> > > > <http://www.craftedsmalltalk.com>
> > > > ===========================================================
> > > >
> > > >
> > > > _______________________________________________
> > > > vwnc mailing list
> > > > [hidden email]
> > > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
> > > >
> >
> > _______________________________________________
> > vwnc mailing list
> > [hidden email]
> > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

Eliot Miranda-2
Hi Terry,

On Fri, Jun 6, 2008 at 5:59 AM, Terry Raymond <[hidden email]> wrote:
 
[snip]
 
One other nit I noticed, when a method is overridden its source is
stored in the source pointer. However, there is a slight problem with
this. If the method is an original vw method, i.e. its source is stored
in the system .sou file, when the method is restored its pointer no
longer points to the .sou file. The nice thing about having its pointer
point to the .sou file is that you know that it is no longer in a
modified state. Reviewing method pointers is a nice way of finding
modified methods.
 
I don't think that's the bug.  I think the bug is that the overridden method doesn't get its source pointer set and doesn't ever get its source pointer updated while it is overridden.  So if the changes file gets condensed he overridden method's source pointer won't be updated to point to the new location in the condensed changes.  And if the overridden method's original parcel is unloaded the overridden method's source pointer won't be replaced by the unloaded source and so when the method's override is removed, exposing the method, the method will appear to have a broken source pointer.

Exactly the same problem bites methods with breakpoints.  The breakpoint manager remembers the original method and replaces it by a modified copy containing the breakpoint.  If changes are condensed or parcels unloaded then the original unbreakpointed method doesn't get its source pointer updated and when the breakpoint is removed it appears to have a broken source pointer.

IMO the method enumeration facilities need to be generalized so the system visits more methods than merely those in method dictionaries in the class hierarchy.  I'd also generalise this to include parcel actions.  It would be great if e.g. searching for senders would return variations on MethodReference, e.g. ParcelActionReference, for parcel actions so that parcel actions could be seen for the sources of message sends that they are.

regards

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Loading binary packages creates *.pst files. Why??

Andres Valloud-6
AR 54527...


From: [hidden email] [mailto:[hidden email]] On Behalf Of Eliot Miranda
Sent: Friday, June 06, 2008 7:10 AM
To: Raymond, Terry
Cc: VWNC
Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why??

Hi Terry,

On Fri, Jun 6, 2008 at 5:59 AM, Terry Raymond <[hidden email]> wrote:
 
[snip]
 
One other nit I noticed, when a method is overridden its source is
stored in the source pointer. However, there is a slight problem with
this. If the method is an original vw method, i.e. its source is stored
in the system .sou file, when the method is restored its pointer no
longer points to the .sou file. The nice thing about having its pointer
point to the .sou file is that you know that it is no longer in a
modified state. Reviewing method pointers is a nice way of finding
modified methods.
 
I don't think that's the bug.  I think the bug is that the overridden method doesn't get its source pointer set and doesn't ever get its source pointer updated while it is overridden.  So if the changes file gets condensed he overridden method's source pointer won't be updated to point to the new location in the condensed changes.  And if the overridden method's original parcel is unloaded the overridden method's source pointer won't be replaced by the unloaded source and so when the method's override is removed, exposing the method, the method will appear to have a broken source pointer.

Exactly the same problem bites methods with breakpoints.  The breakpoint manager remembers the original method and replaces it by a modified copy containing the breakpoint.  If changes are condensed or parcels unloaded then the original unbreakpointed method doesn't get its source pointer updated and when the breakpoint is removed it appears to have a broken source pointer.

IMO the method enumeration facilities need to be generalized so the system visits more methods than merely those in method dictionaries in the class hierarchy.  I'd also generalise this to include parcel actions.  It would be great if e.g. searching for senders would return variations on MethodReference, e.g. ParcelActionReference, for parcel actions so that parcel actions could be seen for the sources of message sends that they are.

regards

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc