So I'm like really new to this Dolphin lark ( installed yesterday ) and
deployed an exe this morning that had problems. I've just rewritten it with actual real functionality and a resonably nice UI and went to build an exe but..... mid-way through the day I installed XP SP2 on the laptop, and now I Dolphin core dumps with saying that the refactoring browse has redundant prerequesites and can't be removed, then the image crashes... Anyone seen that? |
"Mark Derricutt" <[hidden email]> wrote in message
news:cfhou7$[hidden email]... > So I'm like really new to this Dolphin lark ( installed yesterday ) and > deployed an exe this morning that had problems. > > I've just rewritten it with actual real functionality and a resonably > nice UI and went to build an exe but..... > > mid-way through the day I installed XP SP2 on the laptop, and now I > Dolphin core dumps with saying that the refactoring browse has redundant > prerequesites and can't be removed, then the image crashes... > > Anyone seen that? It probably has nothing to do with XP SP2, but rather some modification you have made (perhaps inadvertently). Go into the Package Browser and ensure that the $ at the root of the package tree is selected. Then switch to the 'Prerequisites' tab and right click to bring up the context menu. Choose the Show Status Icons command. Any packages that have a red X against them have cyclic prerequisites. If you drill down into the prerequisites tree from there you should be able to find where the cycle occurs. If you select the packages in the pre-reqs tree you will see in the bottom pane a list of the dependencies that exist between the selected package, and its parent in the tree. You can use this to find what is causing the cyclic reference. Usually it is caused by having added a method to a package that references a class in another package which is itself already dependent on the first package. Cyclic references can always be resolved, usually very easily. In most cases it is simply a matter of making a method "loose" (that is, it extends a class defined in a prerequisite package rather than being defined within that package). In more complex cases it is sometimes necessary (or best) to introduce a third package that acts as a common base for both packages. Finally you can use an indirect symbolic reference (e.g. lookup a class by name in the Smalltalk dictionary rather than referencing it directly), although I generally wouldn't recommend this as it is best that all dependencies be visible as that way the browser and deployment tools will be more helpful. Some people have recently mentioned here that they always deploy from a fresh image. I don't always do this during development, but it is nevertheless very good advice. Following the discipline of deploying from a new image helps ensure that the packaged representation of your project fully describes the application. This allows you to separate it cleanly from any particular image and install it in another. If your packages don't fully describe your applicaton, you'll also have problems at deployment time since the Lagoon system relies heavily on packaging information in deciding what needs to be retained in the application. Another advantage is that the fresh image won't contain any spoors from previous development experiments and debugging. Unwanted objects can sometimes hang around in an image indefinitely, and although they can always be tracked down and removed, this is sometimes more effort than just starting again in a fresh environment. Regards Blair |
Blair McGlashan wrote:
> Go into the Package Browser and ensure that the $ at the root of the package > tree is selected. Then switch to the 'Prerequisites' tab and right click to > bring up the context menu. Choose the Show Status Icons command. Any > packages that have a red X against them have cyclic prerequisites. If you Seems you're right. I'd created classes for the MS SOAP api which seem to have generated messy dependencies ( I seem to recall several classes existing and Dolphin asking if I wanted to move the existing ones or something ). I just killed the image and reinstalled my package and we're almost away laughing. I set Dolphin to deploy an exe and went out, an hour or so later it's still sitting there at "removing redundant methods", the drive light is flickering but theres no indication of it actually DOING anything. Sadly, this step isn't winning me any joy ( its a pity cause I loved the rest of Dolphin so far - although the view composer could be improved a bit ). Mark |
Mark,
> > Go into the Package Browser and ensure that the $ at the root of > > the package tree is selected. Then switch to the 'Prerequisites' > > tab and right click to bring up the context menu. Choose the Show > > Status Icons command. Any packages that have a red X against them > > have cyclic prerequisites. If you > > Seems you're right. I'd created classes for the MS SOAP api which > seem to have generated messy dependencies ( I seem to recall several > classes existing and Dolphin asking if I wanted to move the existing > ones or something ). I just killed the image and reinstalled my > package and we're almost away laughing. > > I set Dolphin to deploy an exe and went out, an hour or so later it's > still sitting there at "removing redundant methods", the drive light > is flickering but theres no indication of it actually DOING anything. > > Sadly, this step isn't winning me any joy ( its a pity cause I loved > the rest of Dolphin so far - although the view composer could be > improved a bit ). The image stripping stage rarely takes longer than 30secs (on my box anyway) so there is still something wrong. Try pressing Ctrl-Break to break execution and enter the debugger. From the method stack you might be able to see what's going on. Best regards, Andy Bower Dolphin Support www.object-arts.com |
Andy Bower wrote:
> The image stripping stage rarely takes longer than 30secs (on my box > anyway) so there is still something wrong. Try pressing Ctrl-Break to > break execution and enter the debugger. From the method stack you might > be able to see what's going on. Hmm, I tried that and it returned with a "The following error occurred while stripping. The image MUST exit immediately, but see crash dump (if configured): User interrupt." *sigh* I do seem to have a habbit of breaking things when I try them :o Where would this crash dump be logged? -- Discouragement is a dissatisfaction with the past, a distaste for the present, and a distrust of the future - Maree De Jong, CLCA. Mark Derricutt --- mark@ talios.com --- http://www.talios.com |
In reply to this post by Andy Bower-3
Andy Bower wrote:
> The image stripping stage rarely takes longer than 30secs (on my box > anyway) so there is still something wrong. Try pressing Ctrl-Break to > break execution and enter the debugger. From the method stack you might > be able to see what's going on. If I leave out the method stripping it works... only now I see different behaviour at runtime from the exe over the image. Mmmm. |
In reply to this post by Mark Derricutt-2
Mark Derricutt wrote:
> > The image stripping stage rarely takes longer than 30secs (on my box > > anyway) so there is still something wrong. Try pressing Ctrl-Break to > > break execution and enter the debugger. From the method stack you might > > be able to see what's going on. Try turning on the image strippers logging. (I can't imagine why it's not on by default.) There's a risk that it'll generate a really /huge/ file if it's stuck in a loop trying to log the same method over and over, but at least it might indicate where this, very strange, problem starts. > *sigh* I do seem to have a habbit of breaking things when I try them :o A /very useful/ attribute for a programmer. (Or that's what I keep telling myself, anyway ;-) > Where would this crash dump be logged? I can't remember whether it's turned on by default. In any case, the crash dump is written to the file named by the default value (string type) of the registry key: HKLM/Object Arts/Dolphin Smalltalk 5.0/CrashDump/ Note: that HML machine, not HKL user; and it's Dolphin Smalltalk 5.0, not 5.1. -- chris |
Chris Uppal wrote:
>>*sigh* I do seem to have a habbit of breaking things when I try them :o > A /very useful/ attribute for a programmer. (Or that's what I keep telling > myself, anyway ;-) And persistence. Whilst I'm starting to realllllly hate COM and Outlook again, I'm starting to really like Dolphin. |
Free forum by Nabble | Edit this page |