Interesting code import problem

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

Interesting code import problem

Carl Gundel-2
I have large porting project from VSE to VAST.  Somehow, some of the methods compiled with unresolved references, and instead of these being nil when the code executes the object in question is some totally unexpected thing  (like a different class altogether).
 
It's weird and I can't explain it, but this leads me to my question.
 
Is there any tool in VA Smalltalk which will recompile all the methods in an application from sources?
 
Thanks,
 
-Carl Gundel

--
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 http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Interesting code import problem

jtuchel
Hi Carl,

I am not aware of a tool to recompile source code other than loading or filing in. But that may just be my ignorance.

You can try to make sure there is nothing wrong with your code by browsing such a method, selecting a name that you think is unresolved and select "Browse definition" or "Inspect Pool" in the context menu. Maybe this helps you understand stuff a bit better (given your problem is not a bug).

HTH

Joachim

Am Montag, 6. Mai 2013 21:41:03 UTC+2 schrieb Carl Gundel:
I have large porting project from VSE to VAST.  Somehow, some of the methods compiled with unresolved references, and instead of these being nil when the code executes the object in question is some totally unexpected thing  (like a different class altogether).
 
It's weird and I can't explain it, but this leads me to my question.
 
Is there any tool in VA Smalltalk which will recompile all the methods in an application from sources?
 
Thanks,
 
-Carl Gundel

--
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 http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Interesting code import problem

jtuchel
Of course you can edit and save the method to recompile it, but I guess you were asking for something to recompile an Application all at once...

I remember we've had strange problems in packaged images in one of our clients' project. This was due to the fact that constants were undefined at package time but you never had the same issue in a development image. We solved it by ensuring the right initialisations by scripts in #loaded and/or #startUp rather than hoping to have a packaging image with all the constants present. I don't remember all the details, but I guess once you find where the references should be coming from, you understand what to do to make sure it is defined later.

What does the Transcript say during load when it compiles with unresolved references?

Joachim

Am Dienstag, 7. Mai 2013 14:07:05 UTC+2 schrieb [hidden email]:
Hi Carl,

I am not aware of a tool to recompile source code other than loading or filing in. But that may just be my ignorance.

You can try to make sure there is nothing wrong with your code by browsing such a method, selecting a name that you think is unresolved and select "Browse definition" or "Inspect Pool" in the context menu. Maybe this helps you understand stuff a bit better (given your problem is not a bug).

HTH

Joachim

Am Montag, 6. Mai 2013 21:41:03 UTC+2 schrieb Carl Gundel:
I have large porting project from VSE to VAST.  Somehow, some of the methods compiled with unresolved references, and instead of these being nil when the code executes the object in question is some totally unexpected thing  (like a different class altogether).
 
It's weird and I can't explain it, but this leads me to my question.
 
Is there any tool in VA Smalltalk which will recompile all the methods in an application from sources?
 
Thanks,
 
-Carl Gundel

--
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 http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Interesting code import problem

Carl Gundel-2
This is a 15MB codebase, so there was a very large list of unresolved stuff.  I wasn't about to try and figure that all out.  The problem is that I didn't catch the first such incidence of this until I got a DNU in the debugger.  The object that did not understand was not the object in the code, not even close.  Very strange, but I bet it's just a matter of the bytecodes pointing to the wrong slots.  Stepping through in the debugger actually behaved properly.  I recompiled the method and it worked.  Does the debugger generate bytecodes on the fly?
 
-Carl

On Tuesday, May 7, 2013 8:12:32 AM UTC-4, [hidden email] wrote:
Of course you can edit and save the method to recompile it, but I guess you were asking for something to recompile an Application all at once...

I remember we've had strange problems in packaged images in one of our clients' project. This was due to the fact that constants were undefined at package time but you never had the same issue in a development image. We solved it by ensuring the right initialisations by scripts in #loaded and/or #startUp rather than hoping to have a packaging image with all the constants present. I don't remember all the details, but I guess once you find where the references should be coming from, you understand what to do to make sure it is defined later.

What does the Transcript say during load when it compiles with unresolved references?

Joachim

Am Dienstag, 7. Mai 2013 14:07:05 UTC+2 schrieb [hidden email]:
Hi Carl,

I am not aware of a tool to recompile source code other than loading or filing in. But that may just be my ignorance.

You can try to make sure there is nothing wrong with your code by browsing such a method, selecting a name that you think is unresolved and select "Browse definition" or "Inspect Pool" in the context menu. Maybe this helps you understand stuff a bit better (given your problem is not a bug).

HTH

Joachim

Am Montag, 6. Mai 2013 21:41:03 UTC+2 schrieb Carl Gundel:
I have large porting project from VSE to VAST.  Somehow, some of the methods compiled with unresolved references, and instead of these being nil when the code executes the object in question is some totally unexpected thing  (like a different class altogether).
 
It's weird and I can't explain it, but this leads me to my question.
 
Is there any tool in VA Smalltalk which will recompile all the methods in an application from sources?
 
Thanks,
 
-Carl Gundel

--
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 http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.