[vw7.7] AtomicLoader instrumentation

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

[vw7.7] AtomicLoader instrumentation

Thor Raabe-2

Does anybody have any useful tools, workspaces or code snippets for debugging loading large amounts of code from Store in VW 7.7?

We are trying to port a fairly large codebase from vw7.4 to vw7.7 and are running into lots of errors during loading. We are pursuing different possible avenues (such as turning off the AtomicLoader etc.) but I would prefer to get things working using the AtomicLoader.  We have previously relied on the loading order in our Bundles to load sub-bundles in specific orders without having prereqs defined. Those bundles will no longer load …

 

I’m looking for something to map out prerequisites of a specific Pundle so we can see what the loader will try to do when told to load that Pundle,  and some instrumentation of the loading process so we can see what has loaded when things go awry…

 

Thor


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

Re: [vw7.7] AtomicLoader instrumentation

Steven Kelly

What worked for us was to add an #installBeforeContinuing property to the package whose classes needed to be installed in order to be able to load a later package (both in the same bundle). In our case a later package contained a property whose value contained instances of classes defined in the earlier package. Before atomic loading, that had worked fine. With atomic loading, the properties were being created (IIRC unBOSSed) before the previous package’s classes were installed.

 

HTH,

Steve

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Thor Raabe
Sent: 13. heinäkuuta 2010 2:24
To: [hidden email]
Subject: [vwnc] [vw7.7] AtomicLoader instrumentation

 

Does anybody have any useful tools, workspaces or code snippets for debugging loading large amounts of code from Store in VW 7.7?

We are trying to port a fairly large codebase from vw7.4 to vw7.7 and are running into lots of errors during loading. We are pursuing different possible avenues (such as turning off the AtomicLoader etc.) but I would prefer to get things working using the AtomicLoader.  We have previously relied on the loading order in our Bundles to load sub-bundles in specific orders without having prereqs defined. Those bundles will no longer load …

 

I’m looking for something to map out prerequisites of a specific Pundle so we can see what the loader will try to do when told to load that Pundle,  and some instrumentation of the loading process so we can see what has loaded when things go awry…

 

Thor


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

Re: [vw7.7] AtomicLoader instrumentation

Alan Knight-2
In reply to this post by Thor Raabe-2
The loading order shouldn't be affected by using the old loader or the atomic loader, so I doubt that that's an issue. But for working with things like that, probably the easiest thing is the Store Workbook, available from the Store menu. It gets you set up with a Store session, and has some useful code snippets for dealing wth Store entities. It doesn't have anything for prerequisites, but you could reasonably easily write the snippet that would extract the prerequisites and go through them recursively. But as I said, I think that's probably not your issue.

As Steven Kelly alludes to, the most likely issue with the atomic loading is if you have code in one package which then affects the compilation of subsequent code. The most obvious case is defining a Compiler subclass, but that should be detected automatically. But with Smalltalk you can do all kinds of interesting tricks, so it may be necessary to define an installBeforeContinuing property on packages that will force them to be installed before the rest of the code.

What you might try doing is going through the bundle structure, extracting the list of components, and then loading the bottom-level packages one at a time. If that loads correctly, then you have a pretty good indication that you just need to find where the installBeforeContinuing needs to go. If it doesn't, then you probably have narrowed it down to which individual package(s) don't load properly.

At 07:24 PM 2010-07-12, Thor Raabe wrote:
Does anybody have any useful tools, workspaces or code snippets for debugging loading large amounts of code from Store in VW 7.7?
We are trying to port a fairly large codebase from vw7.4 to vw7.7 and are running into lots of errors during loading. We are pursuing different possible avenues (such as turning off the AtomicLoader etc.) but I would prefer to get things working using the AtomicLoader.  We have previously relied on the loading order in our Bundles to load sub-bundles in specific orders without having prereqs defined. Those bundles will no longer load …
 
I’m looking for something to map out prerequisites of a specific Pundle so we can see what the loader will try to do when told to load that Pundle,  and some instrumentation of the loading process so we can see what has loaded when things go awry…
 
Thor
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

--
Alan Knight [|], Engineering Manager, Cincom Smalltalk

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