Send to Printer


Server Smalltalk

December 14, 2012 9:46:19.707

Joachim goes through some of the hassles involved in debugging a server issue in Smalltalk (specifically VA, although I think the basic issues are agnostic):

Yesterday I packaged my Seaside Application for the first time on VA Smalltalk 8.5.2 and deployed it to a staging server. And promptly as expected, I got some errors: The first few were easy to find. One of them being a missing rule in AbtXDSingleImagePackagingRule (or some superclass) to include the new EsTimeZone code. That could be fixed by hand. But this morning I spent quite some time searching for a problem in the walkback.log that didn’t exist. And this post is mostly intended for myself to remember next time. But it might also save you some time. The second purpose of this post (or, to be exact, the next one) is to underline why I think the VAST port of Glorp has a lousy adaption of error handling.

There's more, but I have a small word of advice that's made my life easier: don't package images for deployment when going to the server. I run a VW server for this blog, and it's a full dev image, simply running headless. That makes debugging it far, far simpler. I can set up the same image locally, and test things with all the tools available. For that matter, I can set up the same image on a different port on the server, and debug it headful using VNC.


posted by James Robertson


Re: Server Smalltalk

[Tom K] December 14, 2012 9:56:39.361

Unfortunately, the issues are a little more complex. Joachim develops in Windows and deploys in Linux. VA Smalltalk uses different images and has different load requirements under each operating system. He's creating a passive image for UNIX while running Windows - this essentially involves creating a virtual UNIX environment, loading the Smalltalk code into that, and then cutting a package. Passive images aren't actually reduced, but only explicitly referenced applications are included. This means either making sure that one's prerequisites are correctly set up, or specifically including packages in the packager control panel.

Re: Server Smalltalk

[Joachim] December 14, 2012 11:06:48.012

Hi James,

your suggestion is a good one, but unfortunately, a Tom already mentioned, VA ST cannot be used like that. In order to run headless, you have to package. The fact that vast uses native widgets is a disadvantage in this very situation: it doesn't provide a headless mode like squeak, pharo or VW, unless you remove the gui code from an image, which is one of the main purposes of packaging headless.

I was thinkig about running X Windows on the deployment environment for the exact reasons you mention: I could simply debug a running runtime image. But I am not sure what the consequences would be from the perspective of performance or security. So I shy away from that idea for now. Also, renting a Windows machine is not an option for political reasons in this project. Even if it might make life a bit easier.

otoh, I have the impression that linux squeezes more performance out of smaller machines....

 Share Tweet This