--- Begin Message ---
> Hi Petr,
> 
>     along with Esteban’s request for the error code from 
> allocateExecutablePage can you also see whether use of iceberg is successful 
> the second time you launch Pharo?  So start up your virtualbox, try and 
> interact with iceberg, quit if it fails, relaunch and try again?

Yes, after the tests were green (second time, after magic happens), Iceberg was 
also OK - and I mean the whole Iceberg cycle up to creating the Pharo pull 
request right from the Iceberg UI/image.
I recreated whole virtualbox image from scratch and tune some vbox settings - 
described problems have gone and I am not able to recreate the same situation - 
let's forget it, it's not the Pharo thing.

And finally - I see that a lot of work has been done on Iceberg - it's not even 
necessary to leave Pharo for a minute due to the final Github pull request in 
web browser, nice.

pf

> Also in your steps what do you do to prepare?  eg do you boot in virtualbox, 
> return from sleep, or...?
> 
> FYI, allocateExecutablePage uses valloc (IIRC) to get a page from the OS and 
> then uses mprotect to add executable permission to the page before answering 
> the page’s address as the result of the primitive.  The callback machinery 
> then uses the page to provide the executable blue code used in implementing 
> callbacks.  The address of a code sequence in the page is what is actually 
> handed out to C code as a fu croon pointer.  When external code calls this 
> function pointer the code in the sequence invokes a callback into the vm 
> before returning back to C.  Consequently it is key that 
> allocateExecutablePage works correctly.  If it doesn’t then no callbacks.
> 
> _,,,^..^,,,_ (phone)
> 
> > On Sep 24, 2018, at 11:11 AM, Petr Fischer via Pharo-dev 
> > <[email protected]> wrote:
> > 
> > <mime-attachment>


--- End Message ---

Reply via email to