Re: Source lookup in .changes file fails in headless mode on Linux

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

Re: Source lookup in .changes file fails in headless mode on Linux

David T. Lewis
On Sun, Oct 08, 2017 at 06:20:31PM +0200, Max Leske wrote:

> Hi,
>
> We have a problem with the Seaside tests in Squeak 5.1. The underlying
> issue is that source code lookup fails in headless mode on Linux (not
> reproducible on macOS). To reproduce evaluate in headless mode:
>
> Object compile: 'foobar ^ [ 1+ 2] value "blah"'. (Object>>#foobar)
> getSourceFromFileAt: (Object>>#foobar) trailer sourcePointer.
>
> This will signal an error (RemoteString past end of file). (Note: I checked
> the alternative conditions in CompiledMethod>>#getSource: the method
> trailer has no temp names, no #source property but has a source pointer).
>
> I would appreciated it if someone would look into this.
>
> Cheers,
> Max
>
>
>
> Environment:
> Ubuntu 14.04 and 17.04
> 32-bit


I tried putting your example code into a start script (a file that is evaluated
at image startup), and I get the same error. This is on an image with display open
(not headless), so it may not be related to headlessness.

I am not sure what the issue is here, but it will probably be easier to debug
with the display open :-)

Dave


Reply | Threaded
Open this post in threaded view
|

Re: Source lookup in .changes file fails in headless mode on Linux

marcel.taeumel
Hi Max,

quick guess: "CurrentReadOnlySouceFiles" is a subclass of "Exception". There was a discussion about it last year on this list. So, if you catch too many exceptions in head-less mode (?), you cannot access the source code for a "CompiledMethod" anymore.

Best,
Marcel

Am 08.10.2017 20:54:24 schrieb David T. Lewis <[hidden email]>:

On Sun, Oct 08, 2017 at 06:20:31PM +0200, Max Leske wrote:
> Hi,
>
> We have a problem with the Seaside tests in Squeak 5.1. The underlying
> issue is that source code lookup fails in headless mode on Linux (not
> reproducible on macOS). To reproduce evaluate in headless mode:
>
> Object compile: 'foobar ^ [ 1+ 2] value "blah"'. (Object>>#foobar)
> getSourceFromFileAt: (Object>>#foobar) trailer sourcePointer.
>
> This will signal an error (RemoteString past end of file). (Note: I checked
> the alternative conditions in CompiledMethod>>#getSource: the method
> trailer has no temp names, no #source property but has a source pointer).
>
> I would appreciated it if someone would look into this.
>
> Cheers,
> Max
>
>
>
> Environment:
> Ubuntu 14.04 and 17.04
> 32-bit


I tried putting your example code into a start script (a file that is evaluated
at image startup), and I get the same error. This is on an image with display open
(not headless), so it may not be related to headlessness.

I am not sure what the issue is here, but it will probably be easier to debug
with the display open :-)

Dave