Serious problems with Pragma's

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

Serious problems with Pragma's

Jan van de Sandt
Hello,
 
We have deveopled some functionality that uses the new Pragma feature of VA Smalltalk 8.5.
 
But now we run into problems:
  • When you change the superclass of a class that contains one or more Pragma definitions you get a debugger.
  • When you load an application wich contains Pragma definitions into a new image the Pragma information is not found. The Pragma>>allNamed... methods all return an empty collection. After recompiling a method the Pragma information is available again.
Am I doing somthing wrong or are there still some bugs in the Pragma support of VA Smalltalk?
 
Jan.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

Jan van de Sandt
Today I discovered another pretty serious problem :-(

Packaging an application that contains methods with Pragma's also
fails. The method EsRomerImageDumper(EsDumper)>>#compactMethods:
raises the error 'Shared bytecodes with different literals size'

Has anyone successfully used Pragma's in a packaged VA Smalltalk
application ?

Jan.

On 24 okt, 12:47, Jan van de Sandt <[hidden email]> wrote:

> Hello,
>
> We have deveopled some functionality that uses the new Pragma feature of VA
> Smalltalk 8.5.
>
> But now we run into problems:
>
>    - When you change the superclass of a class that contains one or more
>    Pragma definitions you get a debugger.
>    - When you load an application wich contains Pragma definitions into a
>    new image the Pragma information is not found. The Pragma>>allNamed...
>    methods all return an empty collection. After recompiling a method the
>    Pragma information is available again.
>
> Am I doing somthing wrong or are there still some bugs in the Pragma support
> of VA Smalltalk?
>
> Jan.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

Adriaan van Os-3
We're running into the same packaging problem here.

I have little pragma wish list as well:
  • find pragmas just by name (not by name and class)
  • find pragmas by name and class including all subclasses
  • browse result found pragmas in code browser in stead of array inspector
  • include pragmas in results when searching for senders of selector
Cheers,
Adriaan.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/fRvq5Eww3zAJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

SebastianHC
Hi Adriaan,

good list so far.

I would like to add one little addition.

- Proper Pragma initialization with filed-in sources.

Currently you need to change and save methods after file-In. Only this way imported Pragmas get porperly recognized by VAST.

Regards,
Sebastian


Am 27.10.2011 14:12, schrieb Adriaan van Os:
We're running into the same packaging problem here.

I have little pragma wish list as well:
  • find pragmas just by name (not by name and class)
  • find pragmas by name and class including all subclasses
  • browse result found pragmas in code browser in stead of array inspector
  • include pragmas in results when searching for senders of selector
Cheers,
Adriaan.
--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/fRvq5Eww3zAJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by Jan van de Sandt
Jan -
 
I have opened Case 48916 for this packaging problem.  Am I correct that you are packaging your code into ICs?
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/MfMqkBV4JFkJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

Jan van de Sandt
Hello John,

Thanks for taking a look at this issue. We were using the regular packaging procedure without ICs.

Note that there are more problems with Pragma's than just the packaging process. See my first mail.

Jan.


On Thu, Oct 27, 2011 at 10:58 PM, John O'Keefe <[hidden email]> wrote:
Jan -
 
I have opened Case 48916 for this packaging problem.  Am I correct that you are packaging your code into ICs?
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/MfMqkBV4JFkJ.

To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by Jan van de Sandt
Jan -
 
I am having difficulty reproducing your problems.
 
1) For changing the superclass of a class containing a pragma, is it any change to the superclass or only some specific change? Can you capure the walkback and attach it?
 
2) For losing the pragma on loading an application, can you inspect one of the methods containing a pragma before you recompile it (i.e., (AClass>>#aMethodWithPragma) inspect)) and attach a sreen capture of the inspector window?
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/W0DD4ULOnWMJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

SebastianHC
Hi John,

I just exported a Pharo port from one of my manager.dat's to the new
mgr85.dat.

Loading the application failed due to an exception in
Behavior>>#variableAssociationAt: varName using: systemDictionary
ifAbsent: absentBlock
varName  was an ESAtom (coming from the Pragma) which doen't understand
asPoolKey and asClassPoolKey.

talking about superclasses. Once I change a superclass, then none of the
Pragmas in the sub classes methods can be found any more.
I need to edit those methods and save them to have a proper behavior again.

Hope this helps a little.

Sebastian




Am 29.10.2011 20:06, schrieb John O'Keefe:

> Jan -
> I am having difficulty reproducing your problems.
> 1) For changing the superclass of a class containing a pragma, is it
> any change to the superclass or only some specific change? Can you
> capure the walkback and attach it?
> 2) For losing the pragma on loading an application, can you inspect
> one of the methods containing a pragma before you recompile it (i.e.,
> (AClass>>#aMethodWithPragma) inspect)) and attach a sreen capture of
> the inspector window?
> John
> --
> You received this message because you are subscribed to the Google
> Groups "VA Smalltalk" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/va-smalltalk/-/W0DD4ULOnWMJ.
> To post to this group, send email to [hidden email].
> To unsubscribe from this group, send email to
> [hidden email].
> For more options, visit this group at
> http://groups.google.com/group/va-smalltalk?hl=en.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

Jan van de Sandt
In reply to this post by John O'Keefe-3
Hello,

On Sat, Oct 29, 2011 at 8:06 PM, John O'Keefe <[hidden email]> wrote:
Jan -
 
I am having difficulty reproducing your problems.
 
1) For changing the superclass of a class containing a pragma, is it any change to the superclass or only some specific change? Can you capure the walkback and attach it?
 
Steps to reproduce:
1: Define ClassA, a subclass of Object
2. Define ClassB, a subclass of ClassA
3: Add a method with a pragma to ClassB
4: Change the superclass of ClassB to Object
5: A debugger appears, see attached text file.
 
 
2) For losing the pragma on loading an application, can you inspect one of the methods containing a pragma before you recompile it (i.e., (AClass>>#aMethodWithPragma) inspect)) and attach a sreen capture of the inspector window?
Ok
 
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

pragma-superclasschange-stack.txt (21K) Download Attachment
method-with-pragma.PNG (34K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
Jan -
 
Thanks, that helps.  When you originally said 'change the superclass of a class that contains one or more Pragma definitions', I thought you meant edit the superclass in some way, but now I see that you meant switch to a different superclass.
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/fxGdi0f67ZUJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by Jan van de Sandt
Jan -
 
The attached filein should fix the problem of changing the superclass of a class whose methods containing pragmas.
 
Let me know if it works for you.
 
Regards,  John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/xcxyJE6vRvcJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

rebindVariablesInusing.st (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by Jan van de Sandt
I've opened Case 48936 for the problem of 'Walkback when changing the superclass of a class containing Pragma definitions'.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/wxo3YZgKpfQJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

Jan van de Sandt
In reply to this post by John O'Keefe-3
Hello John,

Yes, this filein solves the superclass issue.

Regards,
Jan.

On Tue, Nov 1, 2011 at 7:07 PM, John O'Keefe <[hidden email]> wrote:
Jan -
 
The attached filein should fix the problem of changing the superclass of a class whose methods containing pragmas.
 
Let me know if it works for you.
 
Regards,  John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/xcxyJE6vRvcJ.

To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe
In reply to this post by SebastianHC
Sebastian -

I posted a filein for Jan to fix his "walkback when changing superclass of a class that defines a Pragma".  This filein should fix both you application load problem and your missing Pragmas problem. Please let me know if it does.

John
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

Jan van de Sandt
Hello John,

Your fix solved the "walkback when changing superclass ..." problem. But NOT the load problem. When I load an application with Pragma's, the pragma information is still not found. Only after changing the method(s) the Pragma information reappears.

Jan.

On Wed, Nov 2, 2011 at 11:10 PM, John O'Keefe <[hidden email]> wrote:
Sebastian -

I posted a filein for Jan to fix his "walkback when changing superclass of a
class that defines a Pragma".  This filein *should* fix both you application
load problem and your missing Pragmas problem. Please let me know if it
does.

John

--
View this message in context: http://forum.world.st/Serious-problems-with-Pragma-s-tp3932732p3983470.html
Sent from the Instantiations mailing list archive at Nabble.com.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.


--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by SebastianHC
Sebastian -
 
I'm having trouble reproducing you Pragma filein problem.  I have created a class with one instance method:
 
 foo
   <bar>
   ^ self
 
I file the class out, delete the class from the image, and file the class back in.  Inspecting the CompiledMethod shows that the proper Pragma is there.
 
Perhaps the test needs to be more complex? Can you post a testcase that demonstrates the failure?
 
Thanks,  John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/2qIcra7hIu0J.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

SebastianHC
Hi John,

I planned to check out your fix tomorrow and I'll try to find the Pharo
export file, I had trouble with.
I'll send it to you directly.

I'm sorry that my feedback takes that long this time.

Sebastian


Am 09.11.2011 18:05, schrieb John O'Keefe:

> Sebastian -
> I'm having trouble reproducing you Pragma filein problem.  I have
> created a class with one instance method:
>  foo
> <bar>
>    ^ self
> I file the class out, delete the class from the image, and file the
> class back in.  Inspecting the CompiledMethod shows that the proper
> Pragma is there.
> Perhaps the test needs to be more complex? Can you post a testcase
> that demonstrates the failure?
> Thanks,  John
> --
> You received this message because you are subscribed to the Google
> Groups "VA Smalltalk" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/va-smalltalk/-/2qIcra7hIu0J.
> To post to this group, send email to [hidden email].
> To unsubscribe from this group, send email to
> [hidden email].
> For more options, visit this group at
> http://groups.google.com/group/va-smalltalk?hl=en.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.

Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

SebastianHC
Hi John,

I just tested the filein you provided.

In my case it works, regardings the superclass "changing",too.

Thanks a lot!
Sebastian
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by Jan van de Sandt

On Monday, October 24, 2011 6:47:49 AM UTC-4, Jan van de Sandt wrote:
  • When you load an application wich contains Pragma definitions into a new image the Pragma information is not found. The Pragma>>allNamed... methods all return an empty collection. After recompiling a method the Pragma information is available again.
I have sent a patch for this problem to Jan -- once he verifies that it works in his environment, I will post the patch here.
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/TC0xlb-UvI8J.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: Serious problems with Pragma's

John O'Keefe-3
In reply to this post by Jan van de Sandt
This problem has the same root cause as:
  • When you load an application wich contains Pragma definitions into a new image the Pragma information is not found. The Pragma>>allNamed... methods all return an empty collection. After recompiling a method the Pragma information is available again.
I have just sent Jan a patch and I'm awaiting his validation of the patch before I post it here.
 
John

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/VMFNfASkZYsJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
12