[8.6.2] Packaging with OLE stuff again broken ?

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

[8.6.2] Packaging with OLE stuff again broken ?

Marten Feldtmann-4
I'm not sure what happens, but it seems for me, that packaging WB based stuff (and therefore incuding OLE stuff) seems to be broken again in 8.6.2.

I get execution errors while packaging my PUMModelling tool for the first time with 8.6.2

Its all about in the class AbtBaseOleApp>>packagerIncludeSelectors, where the exception ExMissingOleInterfaceSelectorsDefinition is thrown for the class OSICLRMetaHost, OSICLRRuntimeInfo, OSICLRRuntimeHost

Very strange: it happens only while packaging and NOT when calling this method alone ????????!

I've changed the method to:

packagerIncludeSelectors
    " Code below forces the #interfaceSelectors of all OSOleInterface subclasses to be packaged.
      Many of these selectors are not referenced elsewhere and would otherwise not be included. "

    | collection |
   
    collection := Set new.
    [
        OSOleInterface allSubclasses do: [:i |
            | selectors |
            (selectors := i interfaceSelectors) notNil ifTrue:[
                collection addAll:  selectors
            ]
        ]
    ]
    when: MissingOleInterfaceSelectorsDefinition
    do: [ :sig |
        Transcript cr ; show: sig printString.       
        sig resume ].
   
    ^collection



--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [8.6.2] Packaging with OLE stuff again broken ?

John O'Keefe-3
Marten -

No, not broken. As a result of your case 56709 - ENVY/QA review on AbtBaseOleApp fails and 56836 - OSOle... class without interfaceSelectors causes walkback in tools (ENVY/QA, Packager) that uses them, we changed to throw a specific exception when an OLE class does not provide any interface selectors.

In response to 56709, I told you "The crash is happening because OSICLRMetaHost class does not provide any interface selectors. This class should send 'self interfaceSelectors: anArrayOfInterfaceSelectors' in its #initializeAfterLoad method."

Here is a note from the OSOleInterface class>>#interfaceSelectors method:

  NOTE: All OLE Interfaces should have their interface selectors listed
  in interfaceSelectors, so it is incorrect for this method to answer nil.
  Therefore, we signal an exception if the interfaceSelectors class instance
  variable is nil. "

John

On Tuesday, December 29, 2015 at 3:55:10 AM UTC-5, Marten Feldtmann wrote:
I'm not sure what happens, but it seems for me, that packaging WB based stuff (and therefore incuding OLE stuff) seems to be broken again in 8.6.2.

I get execution errors while packaging my PUMModelling tool for the first time with 8.6.2

Its all about in the class AbtBaseOleApp>>packagerIncludeSelectors, where the exception ExMissingOleInterfaceSelectorsDefinition is thrown for the class OSICLRMetaHost, OSICLRRuntimeInfo, OSICLRRuntimeHost

Very strange: it happens only while packaging and NOT when calling this method alone ????????!

I've changed the method to:

packagerIncludeSelectors
    " Code below forces the #interfaceSelectors of all OSOleInterface subclasses to be packaged.
      Many of these selectors are not referenced elsewhere and would otherwise not be included. "

    | collection |
   
    collection := Set new.
    [
        OSOleInterface allSubclasses do: [:i |
            | selectors |
            (selectors := i interfaceSelectors) notNil ifTrue:[
                collection addAll:  selectors
            ]
        ]
    ]
    when: MissingOleInterfaceSelectorsDefinition
    do: [ :sig |
        Transcript cr ; show: sig printString.       
        sig resume ].
   
    ^collection



--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [8.6.2] Packaging with OLE stuff again broken ?

Marten Feldtmann-4
Hello John,

and what is now the (helping) answer to a customer (not me) not able to package its application ?????????????????????


Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [8.6.2] Packaging with OLE stuff again broken ?

Marten Feldtmann-5
In reply to this post by John O'Keefe-3
And again under 9.0.0 this error prevents me from building images - so I have to patch 9.0.0 (in severl configuration maps) to get rid of this problem.

Marten

Am Mittwoch, 6. Januar 2016 20:00:14 UTC+1 schrieb John O'Keefe:
Marten -

No, not broken. As a result of your case 56709 - ENVY/QA review on AbtBaseOleApp fails and 56836 - OSOle... class without interfaceSelectors causes walkback in tools (ENVY/QA, Packager) that uses them, we changed to throw a specific exception when an OLE class does not provide any interface selectors.

In response to 56709, I told you "The crash is happening because OSICLRMetaHost class does not provide any interface selectors. This class should send 'self interfaceSelectors: anArrayOfInterfaceSelectors' in its #initializeAfterLoad method."

Here is a note from the OSOleInterface class>>#interfaceSelectors method:

  NOTE: All OLE Interfaces should have their interface selectors listed
  in interfaceSelectors, so it is incorrect for this method to answer nil.
  Therefore, we signal an exception if the interfaceSelectors class instance
  variable is nil. "

John

On Tuesday, December 29, 2015 at 3:55:10 AM UTC-5, Marten Feldtmann wrote:
I'm not sure what happens, but it seems for me, that packaging WB based stuff (and therefore incuding OLE stuff) seems to be broken again in 8.6.2.

I get execution errors while packaging my PUMModelling tool for the first time with 8.6.2

Its all about in the class AbtBaseOleApp>>packagerIncludeSelectors, where the exception ExMissingOleInterfaceSelectorsDefinition is thrown for the class OSICLRMetaHost, OSICLRRuntimeInfo, OSICLRRuntimeHost

Very strange: it happens only while packaging and NOT when calling this method alone ????????!

I've changed the method to:

packagerIncludeSelectors
    " Code below forces the #interfaceSelectors of all OSOleInterface subclasses to be packaged.
      Many of these selectors are not referenced elsewhere and would otherwise not be included. "

    | collection |
   
    collection := Set new.
    [
        OSOleInterface allSubclasses do: [:i |
            | selectors |
            (selectors := i interfaceSelectors) notNil ifTrue:[
                collection addAll:  selectors
            ]
        ]
    ]
    when: MissingOleInterfaceSelectorsDefinition
    do: [ :sig |
        Transcript cr ; show: sig printString.       
        sig resume ].
   
    ^collection



--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.