[vwnc] Overrides in Tools-IDE not restored during runtime building in 7.6

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

[vwnc] Overrides in Tools-IDE not restored during runtime building in 7.6

Runar Jordahl
In VisualWorks 7.6, we build a Windows UI application from the
visual.im-image using the RTP (Runtime Packager). The Cincom base
image (visual.im) includes bundle "Tools-IDE", which has a number of
overrides. To me it looks like the RTP unloads bundle "Tools-IDE", but
the overridden methods are not restored. Two methods having their
original definition in package "Graphics-Visual Objects" causes our
application to fail, as they are not defined in the resulting runtime
image:

VisualPart >>globalPointToLocal:
VisualPart >>localPointToGlobal:

Does anyone know whether there is a problem with the RTP unloading
"Tools-IDE" but not restoring overridden methods?


Some details about this problem…

Our build process is automated by creating a "st" script which is
passed to the Cincom base image:

|connection rtp|
Parcel loadParcelByName: 'StoreForOracle'.
connection := Store.ConnectionProfile new
        name: 'Load';
        driverClassName: #OracleConnection;
        environment: 'prod';
        userName: 'nn';
        password: 'nn';
        tableOwner: 'bern58';
        yourself.
Store.DbRegistry connectTo: connection.
(Store.Bundle mostRecentVersionOfPundleWithName: 'OurProjectTopBundle') loadSrc.
Store.DbRegistry closeConnection.
rtp := RuntimePackager.RuntimeBuilderUI new.
rtp open.
rtp options stripGlobals: false.
rtp options startupClass: OurStartUpClass.
rtp options startupMethod: #startUp.
rtp options imagePath: 'OurAppName'.
rtp options errorNotifierClass: Core.ErrorNotifier.
rtp options imageDumperClass: Core.ErrorDumper.
rtp options operatingSystems: (Set with: #win).
rtp options uiLooks: (Set with: #win).
ObjectMemory globalGarbageCollect.
rtp stripSystemSilent.

The last called method (#stripSystemSilent) is implemented like this:

        interactWithUser := false.
        WindowManager managerRegistryDo: [:each | each scheduledWindows do:
[:e | e close]].
        self stripSystem.
        interactWithUser := true

We have a workaround for the problem which is to remove the two
overrides causing problems manually from the build image. Doing this
feels not too safe, as there could be other overrides we have missed.

Below are parts of the error log caused by the problem:

==2008/5/8==13:07:50==BEGIN RUNTIME DIAGNOSTIC DUMP
Note: this file stored in VisualWorks #source (UTF-8) encoding

Cause of Dump: Unhandled exception: Message not understood: #localPointToGlobal:
Smalltalk Version: 'VisualWorks(R), 7.6 of March 3, 2008'
Object Memory versionId: #[63 41 63 192 76 0 0 0 63 41 63 192]
Class creating this dump: ErrorDumper
------------------------------------------------------------
Active Process
Process named: 'Unnamed Process'
Process priority: 50
Process identity hash: 12432
Context Stack:
[1] WinXPActionButtonView(Object)>>doesNotUnderstand:
[2] WinXPTriggerButtonController(Controller)>>setSensorFromView
[3] WinXPTriggerButtonController(Controller)>>sensor
[4] WinXPTriggerButtonController(BasicButtonController)>>simulateMousePress
[5] KeyboardProcessor>>doDefaultAction
[6] WinXPMenuButtonController(MenuButtonController)>>processKeyboardEvent:
[7] WinXPMenuButtonController(Win95MenuButtonController)>>processKeyboardEvent:
[8] WinXPMenuButtonController(Controller)>>keyPressedEvent:
[9] KeyPressedEvent>>dispatchTo:


Runar

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