Hi folks:
Today in class one of my students asked about deploying VW applications. My deployment scripts seemed like overkill since these are students with only three days of VW under their belt. I thought "hey, why not try the Runtime packager." Good thing I didn't demo it... Under VW7.7.1/linux just building a simple app (fileout attached) with one button that raises a dialog and trying to package it gives me an image which raises the attached exception on startup. I have attached my Runtime Packager config for reference although I naively just hit "next a lot" :-) Shame on me for thinking this would be simple :-[ I'm sure there is a step I'm missing. I tried several things (I made sure no Store connections were open, for example, since the error seems related to Store. I tried running the image with -runtime image option. I tried "testing" the image in Runtime packager to make sure it wasn't throwing away something I need). I would appreciate the help of some kind soul so I can pass this help on to my intrepid student. :-) David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc Stupid.st (2K) Download Attachment error.log (89K) Download Attachment params.rtp (452K) Download Attachment |
David,
Try the other approach... Generate a parcel file and have a clean/small/empty/headless image load it. Launch your application window as a post-load action. Our build tools use this approach and it has worked fine for a few years now. Our tools go through extra steps of re-saving the image several times for memory efficiency. Your deployment could be as simple as copying parcel files to a directory and running a launch script that starts the image and loads parcels. Fortunately, the parcel files load almost instantly. Paul Baumann -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of C. David Shaffer Sent: Tuesday, October 19, 2010 16:45 To: [hidden email] Subject: [vwnc] Runtime packager Hi folks: Today in class one of my students asked about deploying VW applications. My deployment scripts seemed like overkill since these are students with only three days of VW under their belt. I thought "hey, why not try the Runtime packager." Good thing I didn't demo it... Under VW7.7.1/linux just building a simple app (fileout attached) with one button that raises a dialog and trying to package it gives me an image which raises the attached exception on startup. I have attached my Runtime Packager config for reference although I naively just hit "next a lot" :-) Shame on me for thinking this would be simple :-[ I'm sure there is a step I'm missing. I tried several things (I made sure no Store connections were open, for example, since the error seems related to Store. I tried running the image with -runtime image option. I tried "testing" the image in Runtime packager to make sure it wasn't throwing away something I need). I would appreciate the help of some kind soul so I can pass this help on to my intrepid student. :-) David This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired. _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by cdavidshaffer
On 10/21/10 13:48, Paul Baumann wrote: > David, > > Try the other approach... Generate a parcel file and have a clean/small/empty/headless image load it. Launch your application window as a post-load action. > > Our build tools use this approach and it has worked fine for a few years now. Our tools go through extra steps of re-saving the image several times for memory efficiency. > > Your deployment could be as simple as copying parcel files to a directory and running a launch script that starts the image and loads parcels. Fortunately, the parcel files load almost instantly. > > Paul Baumann > Thanks Paul. Yes, starting from an image+parcel makes sense even for students but maybe not in the first three days of Smalltalk. I was trying to keep the number of new concepts low. Adding deployment image, parcels and start-up shell script to the list seemed like too much. (In another few weeks it will be fine though.) Runtime packager seemed like a great way to get them deploying quickly: just click "next" a bunch of times and you have a deploy-able image. I think what I just learned was that either the new Store code introduced a bug in stripped images or the tool is too finicky for me (and my students). David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by cdavidshaffer
Hello,
sorry for reopening "old thread", but I ran into the same problem yesterday. I have a small GUI application for computing some descent-related things for flight planning in wxPython and would like to have it in smalltalk and my bachelor's thesis needs a simple web service server - better to have it smalltalk than .net or java :). The one of the first things I tried when I received the VisualWorks CD (wow! they really ship them to Europe for free! Did not believe that until phone rang 'Hello, here is FedEx. I have a package from America for you'.) was creating GUI (with dynamically-sized textboxes) and packaging. Only blank window appeared when I was trying to run "runtime" image and I could not close it (I have to shot that process out (kill -9)). In error log there was "Unhandled exception: The identifier Store.Glorp.StoreRefactoringBrowser has no binding" . I do not know the VisualWorks and have no idea what the StoreRefactoringBrowser is good for in runtime image. But the solution of my problem was keeping "Store II" bundle (StoreBase -> Store II) in 'Specify classes and methods to keep' step of packaging image. (The Runtime Packager did not like trying to keep just only StoreRefactoringBrowser.) Hope this helps --- #define TRUE FALSE //happy debugging :-P
|
Personally, I suggest avoiding RTP. I did a screencast on deploying applications without using RTP awhile ago:
http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=smalltalk_daily_deployment On Mar 22, 2011, at 6:32 AM, eMko wrote:
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by eMko
If you send the stack, maybe I can have a short look at it. The plain exception description gives
a good idea about the symptom, but is not enough to tell why it occurs. Depending on what your application does, it should not need Store in the runtime image. So my assumption is that some "dead" code runs with reference to Store classes. Which VW version are you using? In a related VW 7.7. Support case I found out that it is a good idea to unload the entire bundle "Store Base" - after having loaded your stuff from Store and disconnect, and _before_ you start the RuntimePackager GUI. It's the cleanest and easiest way to get rid of unused code. If you use a Prestrip class, then its unloader method could perform the Store unload. Am 22.03.2011 11:32, schrieb eMko: > Hello, > > sorry for reopening "old thread", but I ran into the same problem yesterday. > I have a small GUI application for computing some descent-related things for > flight planning in wxPython and would like to have it in smalltalk and my > bachelor's thesis needs a simple web service server - better to have it > smalltalk than .net or java :). The one of the first things I tried when I > received the VisualWorks CD (wow! they really ship them to Europe for free! > Did not believe that until phone rang 'Hello, here is FedEx. I have a > package from America for you'.) was creating GUI (with dynamically-sized > textboxes) and packaging. > > Only blank window appeared when I was trying to run "runtime" image and I > could not close it (I have to shot that process out (kill -9)). In error log > there was > "Unhandled exception: The identifier Store.Glorp.StoreRefactoringBrowser has > no binding" . > > I do not know the VisualWorks and have no idea what the > StoreRefactoringBrowser is good for in runtime image. But the solution of my > problem was keeping "Store II" bundle (StoreBase -> Store II) in 'Specify > classes and methods to keep' step of packaging image. (The Runtime Packager > did not like trying to keep just only StoreRefactoringBrowser.) > > Hope this helps > > --- > #define TRUE FALSE //happy debugging :-P > > > C. David Shaffer wrote: >> Hi folks: >> >> Today in class one of my students asked about deploying VW >> applications. My deployment scripts seemed like overkill since these >> are students with only three days of VW under their belt. I thought >> "hey, why not try the Runtime packager." Good thing I didn't >> demo it... >> >> Under VW7.7.1/linux just building a simple app (fileout attached) with >> one button that raises a dialog and trying to package it gives me an >> image which raises the attached exception on startup. I have attached >> my Runtime Packager config for reference although I naively just hit >> "next a lot" :-) >> >> Shame on me for thinking this would be simple :-[ >> >> I'm sure there is a step I'm missing. I tried several things (I made >> sure no Store connections were open, for example, since the error seems >> related to Store. I tried running the image with -runtime image option. >> I tried"testing" the image in Runtime packager to make sure it >> wasn't >> throwing away something I need). I would appreciate the help of some >> kind soul so I can pass this help on to my intrepid student. :-) >> >> David >> >> >> _______________________________________________ >> vwnc mailing list >> [hidden email] >> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >> > > -- > View this message in context: http://forum.world.st/Runtime-packager-tp3005641p3395994.html > Sent from the VisualWorks mailing list archive at Nabble.com. > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > Holger Guhl -- Senior Consultant * Certified Scrum Master * [hidden email] Tel: +49 231 9 75 99 21 * Fax: +49 231 9 75 99 20 Georg Heeg eK Dortmund Handelsregister: Amtsgericht Dortmund A 12812 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Hello,
thank you for your advice. Unloading "Store Base" parcel worked for me. The error.log should be the same as in the first message of this thread. I am using VisualWorks 7.7.1 NC and there are two classes in the application package. One with gui (empty canvas with "Hello world" label in the centre of it) and the second with app (static method "start" which does no more than "GuiCls new open"). (I am sorry for not posting error from "something more" than basic hello world, but I am at work now and returning to school in the evening, so I will manage to get home where I have more-than-basic app at night.) --- #define TRUE FALSE //happy debugging :-P
|
Yep, that was the problem: The method SystemEventInterest>>notifyStoreBrowser, defined to be
called at #earlySystemInstallation was the culprit. The code refers to Store.Glorp.StoreRefactoringBrowser (superclass: Refactory.Browser.AbstractRefactoringBrowser). Since one very common setting of RuntimePackager is to remove developer tools (browser, debugger, etc), the poor subclass is removed as well. The method is defined in the pundle hierarchy {StoreBase} -> {Store II} -> [StoreForGlorpBrowserUI]. Unloading the entire top bundle solves the problem. Am 22.03.2011 14:50, schrieb eMko: > Hello, > > thank you for your advice. Unloading "Store Base" parcel worked for me. > > The http://forum.world.st/file/n3396437/error.log error.log should be the > same as in the first message of this thread. > > I am using VisualWorks 7.7.1 NC and there are two classes in the application > package. One with gui (empty canvas with "Hello world" label in the centre > of it) and the second with app (static method "start" which does no more > than "GuiCls new open"). > > (I am sorry for not posting error from "something more" than basic hello > world, but I am at work now and returning to school in the evening, so I > will manage to get home where I have more-than-basic app at night.) > > --- > #define TRUE FALSE //happy debugging :-P > > > Holger Guhl wrote: >> If you send the stack, maybe I can have a short look at it. The plain >> exception description gives >> a good idea about the symptom, but is not enough to tell why it occurs. >> Depending on what your >> application does, it should not need Store in the runtime image. So my >> assumption is that some >> "dead" code runs with reference to Store classes. >> Which VW version are you using? >> In a related VW 7.7. Support case I found out that it is a good idea to >> unload the entire bundle >> "Store Base" - after having loaded your stuff from Store and >> disconnect, and _before_ you start the >> RuntimePackager GUI. It's the cleanest and easiest way to get rid of >> unused code. If you use a >> Prestrip class, then its unloader method could perform the Store unload. >> >> Am 22.03.2011 11:32, schrieb eMko: >> > Hello, >> > >> > sorry for reopening"old thread", but I ran into the same >> problem yesterday. >> > I have a small GUI application for computing some descent-related >> things for >> > flight planning in wxPython and would like to have it in smalltalk >> and my >> > bachelor's thesis needs a simple web service server - better to have >> it >> > smalltalk than .net or java :). The one of the first things I tried >> when I >> > received the VisualWorks CD (wow! they really ship them to Europe for >> free! >> > Did not believe that until phone rang 'Hello, here is FedEx. I have a >> > package from America for you'.) was creating GUI (with >> dynamically-sized >> > textboxes) and packaging. >> > >> > Only blank window appeared when I was trying to run >> "runtime" image and I >> > could not close it (I have to shot that process out (kill -9)). In >> error log >> > there was >> >"Unhandled exception: The identifier >> Store.Glorp.StoreRefactoringBrowser has >> > no binding" . >> > >> > I do not know the VisualWorks and have no idea what the >> > StoreRefactoringBrowser is good for in runtime image. But the >> solution of my >> > problem was keeping"Store II" bundle (StoreBase -> >> Store II) in 'Specify >> > classes and methods to keep' step of packaging image. (The Runtime >> Packager >> > did not like trying to keep just only StoreRefactoringBrowser.) >> > >> > Hope this helps >> > >> > --- >> > #define TRUE FALSE //happy debugging :-P >> > >> > >> > C. David Shaffer wrote: >> >> Hi folks: >> >> >> >> Today in class one of my students asked about deploying VW >> >> applications. My deployment scripts seemed like overkill since >> these >> >> are students with only three days of VW under their belt. I >> thought >> >>"hey, why not try the Runtime packager." Good >> thing I didn't >> >> demo it... >> >> >> >> Under VW7.7.1/linux just building a simple app (fileout attached) >> with >> >> one button that raises a dialog and trying to package it gives me >> an >> >> image which raises the attached exception on startup. I have >> attached >> >> my Runtime Packager config for reference although I naively just >> hit >> >>"next a lot" :-) >> >> >> >> Shame on me for thinking this would be simple :-[ >> >> >> >> I'm sure there is a step I'm missing. I tried several things (I >> made >> >> sure no Store connections were open, for example, since the error >> seems >> >> related to Store. I tried running the image with -runtime image >> option. >> >> I tried"testing" the image in Runtime packager >> to make sure it >> >> wasn't >> >> throwing away something I need). I would appreciate the help of >> some >> >> kind soul so I can pass this help on to my intrepid student. :-) >> >> >> >> David >> >> >> >> >> >> _______________________________________________ >> >> vwnc mailing list >> >> [hidden email] >> >> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >> >> >> > >> > -- >> > View this message in context: >> http://forum.world.st/Runtime-packager-tp3005641p3395994.html >> > Sent from the VisualWorks mailing list archive at Nabble.com. >> > _______________________________________________ >> > vwnc mailing list >> > [hidden email] >> > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >> > >> > >> >> >> Holger Guhl >> -- >> Senior Consultant * Certified Scrum Master * [hidden email] >> Tel: +49 231 9 75 99 21 * Fax: +49 231 9 75 99 20 >> Georg Heeg eK Dortmund >> Handelsregister: Amtsgericht Dortmund A 12812 >> >> _______________________________________________ >> vwnc mailing list >> [hidden email] >> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >> > > -- > View this message in context: http://forum.world.st/Runtime-packager-tp3005641p3396437.html > Sent from the VisualWorks mailing list archive at Nabble.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 |
Note that there is also a base.im that you can use to load your code
into from parcels. You could then run the runtime packager from
there without including nearly so much stuff or having the
possibility of such an error. But as others have pointed out, you
could also just load your parcel into it, save the image, and
consider yourself done. Runtime packager does a few additional
things besides stripping out code, e.g. setting up a default
exception handler that behaves reasonably, running with -runtime as
default, but those things can also be done independently of that,
and you may not need them.
--
[hidden email] [hidden email] http://www.cincomsmalltalk.com _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by cdavidshaffer
I was having the same kind of headaches with the Cincom Smalltalk Runtime Packager and I solved it so I decided to post my solution:
1. Start Runtime Packager 2. On the step 'Set common options' press 'Do this step' and specify startup class method and other important things 3. Select the tab 'Parcels' 4. Click '<StoreBase>' 5. Click 'Unload Parcel' 6. Proceed forward as usual. This worked for me on both my mac and my pc. I realize that this is the same solution as the one given above, but after I read it I spend several hours improvising and clicking here and there, destroying several images of the VisualWorks virtual machine . So I decided to give more clear and specific 'how-to'. Best regards, Nikolay Milushev |
Free forum by Nabble | Edit this page |