Missing plugins to make the vmProfiler work on Pharo
Hi Esteban, Hi all, I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today). While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached). This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too. For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ? If I can be of any help, just tell me Thanks! Sophie
Hi Sophie, You will have to compile your own VM for the moment. It's fairly easy but you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/OpenSmalltalk/opensmalltalk-vm <https://github.com/OpenSmalltalk/opensmalltalk-vm> and read the README and HOWTO files. Simple build example: cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin. HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
Hi Max, She has already done that. The point is to add the plugins in the default Pharo VM, so everyone can use the VM profiler. We would like to have the VM profiler loadable through the Pharo catalog, but many people won't be able to use it if the default Pharo VM does not support it... The plugin is lightweight, so I don't see why we can't have it. Best, On Wed, May 10, 2017 at 3:00 PM, Max Leske <maxleske@gmail.com> wrote:
Hi Sophie,
You will have to compile your own VM for the moment. It's fairly easy but you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/ OpenSmalltalk/opensmalltalk-vm and read the README and HOWTO files. Simple build example:
cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d
will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin.
HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
OK, I see.
On 10 May 2017, at 15:11, Clément Bera <bera.clement@gmail.com> wrote:
Hi Max,
She has already done that. The point is to add the plugins in the default Pharo VM, so everyone can use the VM profiler. We would like to have the VM profiler loadable through the Pharo catalog, but many people won't be able to use it if the default Pharo VM does not support it...
The plugin is lightweight, so I don't see why we can't have it.
Best,
On Wed, May 10, 2017 at 3:00 PM, Max Leske <maxleske@gmail.com <mailto:maxleske@gmail.com>> wrote: Hi Sophie,
You will have to compile your own VM for the moment. It's fairly easy but you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/OpenSmalltalk/opensmalltalk-vm <https://github.com/OpenSmalltalk/opensmalltalk-vm> and read the README and HOWTO files. Simple build example:
cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d
will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin.
HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com <mailto:sophie.kaleba@gmail.com>> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
Hi Sophie, you could try and modify the plugins.int or plugins.ext files for various pharo distributions and do a pull request on github opensmalltalk-vm. Then let Esteban accept the request or not before the release of Pharo... (if the build are green, there's no reason to not accept it). 2017-05-10 15:39 GMT+02:00 Max Leske <maxleske@gmail.com>:
OK, I see.
On 10 May 2017, at 15:11, Clément Bera <bera.clement@gmail.com> wrote:
Hi Max,
She has already done that. The point is to add the plugins in the default Pharo VM, so everyone can use the VM profiler. We would like to have the VM profiler loadable through the Pharo catalog, but many people won't be able to use it if the default Pharo VM does not support it...
The plugin is lightweight, so I don't see why we can't have it.
Best,
On Wed, May 10, 2017 at 3:00 PM, Max Leske <maxleske@gmail.com> wrote:
Hi Sophie,
You will have to compile your own VM for the moment. It's fairly easy but you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/OpenSmal ltalk/opensmalltalk-vm and read the README and HOWTO files. Simple build example:
cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d
will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin.
HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
If it is a plug-in, why does it need VM recompilation? Esteban A. Maringolo 2017-05-10 12:15 GMT-03:00 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
Hi Sophie, you could try and modify the plugins.int or plugins.ext files for various pharo distributions and do a pull request on github opensmalltalk-vm. Then let Esteban accept the request or not before the release of Pharo... (if the build are green, there's no reason to not accept it).
2017-05-10 15:39 GMT+02:00 Max Leske <maxleske@gmail.com>:
OK, I see.
On 10 May 2017, at 15:11, Clément Bera <bera.clement@gmail.com> wrote:
Hi Max,
She has already done that. The point is to add the plugins in the default Pharo VM, so everyone can use the VM profiler. We would like to have the VM profiler loadable through the Pharo catalog, but many people won't be able to use it if the default Pharo VM does not support it...
The plugin is lightweight, so I don't see why we can't have it.
Best,
On Wed, May 10, 2017 at 3:00 PM, Max Leske <maxleske@gmail.com> wrote:
Hi Sophie,
You will have to compile your own VM for the moment. It's fairly easy but you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/OpenSmalltalk/opensmalltalk-vm and read the README and HOWTO files. Simple build example:
cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d
will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin.
HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
On Wed, May 10, 2017 at 5:28 PM, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
If it is a plug-in, why does it need VM recompilation?
Internal plugins require VM recompilation. Only external plugins do not.
Esteban A. Maringolo
2017-05-10 12:15 GMT-03:00 Nicolas Cellier <nicolas.cellier.aka.nice@ gmail.com>:
Hi Sophie, you could try and modify the plugins.int or plugins.ext files for various pharo distributions and do a pull request on github opensmalltalk-vm. Then let Esteban accept the request or not before the release of Pharo... (if the build are green, there's no reason to not accept it).
2017-05-10 15:39 GMT+02:00 Max Leske <maxleske@gmail.com>:
OK, I see.
On 10 May 2017, at 15:11, Clément Bera <bera.clement@gmail.com> wrote:
Hi Max,
She has already done that. The point is to add the plugins in the
default
Pharo VM, so everyone can use the VM profiler. We would like to have the VM profiler loadable through the Pharo catalog, but many people won't be able to use it if the default Pharo VM does not support it...
The plugin is lightweight, so I don't see why we can't have it.
Best,
On Wed, May 10, 2017 at 3:00 PM, Max Leske <maxleske@gmail.com> wrote:
Hi Sophie,
You will have to compile your own VM for the moment. It's fairly easy
but
you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/OpenSmalltalk/opensmalltalk-vm and read the README and HOWTO files. Simple build example:
cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d
will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin.
HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
2017-05-10 13:38 GMT-03:00 Clément Bera <bera.clement@gmail.com>:
On Wed, May 10, 2017 at 5:28 PM, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
If it is a plug-in, why does it need VM recompilation?
Internal plugins require VM recompilation. Only external plugins do not.
It was more of a semantic question, I'd expect a plug-in to be that, pluggable, as you say external plugins are. Or what is the "pluggability" of such plugins? Disclaimer: I don't know about the VM internals (*), and this is not a complain of any sort. I just wonder it is called that way. Regards! Esteban A. Maringolo (*) I did compile a Squeak VM a decade ago (added two primitives) but nothing more than that.
On Wed, May 10, 2017 at 8:12 PM, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
2017-05-10 13:38 GMT-03:00 Clément Bera <bera.clement@gmail.com>:
On Wed, May 10, 2017 at 5:28 PM, Esteban A. Maringolo < emaringolo@gmail.com> wrote:
If it is a plug-in, why does it need VM recompilation?
Internal plugins require VM recompilation. Only external plugins do not.
It was more of a semantic question, I'd expect a plug-in to be that, pluggable, as you say external plugins are. Or what is the "pluggability" of such plugins?
I would say there is 3 levels of pluggability: 1 non optional internal plugin, pluggable because it can be replaced by another internal plugin implementing the same API at VM compilation time. Used for modularity of specific aspects of the VM. 2 optional internal plugin, pluggable because it can be removed / added / replaced at VM compilation time. Used to improve performance over external plugin or to access VM functions not exposed to external plugins. 3 external plugin, pluggable because it can be removed / added / replaced after the VM is compiled. Used for all other plugins. So they're all pluggable in some way.
Disclaimer: I don't know about the VM internals (*), and this is not a complain of any sort. I just wonder it is called that way.
Regards!
Esteban A. Maringolo
(*) I did compile a Squeak VM a decade ago (added two primitives) but nothing more than that.
2017-05-11 11:34 GMT+02:00 Clément Bera <bera.clement@gmail.com>: > > > On Wed, May 10, 2017 at 8:12 PM, Esteban A. Maringolo < > emaringolo@gmail.com> wrote: > >> 2017-05-10 13:38 GMT-03:00 Clément Bera <bera.clement@gmail.com>: >> > On Wed, May 10, 2017 at 5:28 PM, Esteban A. Maringolo < >> emaringolo@gmail.com> wrote: >> >> >> If it is a plug-in, why does it need VM recompilation? >> > >> > Internal plugins require VM recompilation. Only external plugins do not. >> >> It was more of a semantic question, I'd expect a plug-in to be that, >> pluggable, as you say external plugins are. >> Or what is the "pluggability" of such plugins? >> > > I would say there is 3 levels of pluggability: > 1 non optional internal plugin, pluggable because it can be replaced by > another internal plugin implementing the same API at VM compilation time. > Used for modularity of specific aspects of the VM. > 2 optional internal plugin, pluggable because it can be removed / added / > replaced at VM compilation time. Used to improve performance over external > plugin or to access VM functions not exposed to external plugins. > 3 external plugin, pluggable because it can be removed / added / replaced > after the VM is compiled. Used for all other plugins. > > So they're all pluggable in some way. > > External plugins have to use a well defined API for all interactions with VM. Internal plugins not only could have access to unexposed functions, but can also inline some of these functions as recently introduced by Eliot ( https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7fa0184ef8c7c8badb70942c5f17693f8e622426), so the performance might be a criterion of choice. >From a packaging POV, making a plugin external is a source of trouble versus embedded internal plugins. The number of possible combinations can rapidly explode (think of testing). It is essentially for letting user choose: - to not embed the plugin * because he knows he ain't gonna need it, and he wants to limit the memory footprint * or because the plugins expose some security issues - to replace a plugin with an alternative version - to produce his own plugins without bothering to recompile the whole VM (or just update the VM without the need to update the plugin because the major revision of API did not change) >> Disclaimer: I don't know about the VM internals (*), and this is not a >> complain of any sort. I just wonder it is called that way. >> >> Regards! >> >> Esteban A. Maringolo >> >> (*) I did compile a Squeak VM a decade ago (added two primitives) but >> nothing more than that. >> >> >
Thanks for your help! @Nicolas, I'll do it that way 2017-05-10 17:15 GMT+02:00 Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com>:
Hi Sophie, you could try and modify the plugins.int or plugins.ext files for various pharo distributions and do a pull request on github opensmalltalk-vm. Then let Esteban accept the request or not before the release of Pharo... (if the build are green, there's no reason to not accept it).
2017-05-10 15:39 GMT+02:00 Max Leske <maxleske@gmail.com>:
OK, I see.
On 10 May 2017, at 15:11, Clément Bera <bera.clement@gmail.com> wrote:
Hi Max,
She has already done that. The point is to add the plugins in the default Pharo VM, so everyone can use the VM profiler. We would like to have the VM profiler loadable through the Pharo catalog, but many people won't be able to use it if the default Pharo VM does not support it...
The plugin is lightweight, so I don't see why we can't have it.
Best,
On Wed, May 10, 2017 at 3:00 PM, Max Leske <maxleske@gmail.com> wrote:
Hi Sophie,
You will have to compile your own VM for the moment. It's fairly easy but you might run into problems when including the extra plugin. To build the VM, follow the instructions on https://github.com/OpenSmal ltalk/opensmalltalk-vm and read the README and HOWTO files. Simple build example:
cd ~/git/opensmalltalk-vm/build.macos32x86/pharo.cog.spur/ && ./mvm -d
will build a debug VM. You'll have to modify one of the "plugins.*" files to include the plugin.
HTH, Max
On 10 May 2017, at 14:36, Sophie Kaleba <sophie.kaleba@gmail.com> wrote:
Hi Esteban, Hi all,
I am working on porting the Squeak VMProfiler to Pharo as a gsoc (I will post a more detailed presentation about that in the mailing list later today).
While trying to use the profiler with the Pharo VM, I get the following error : "PrimitiveFailed : primitive #primitiveExecutableModules in VMProfilerLinuxSymbolsManager failed". (see stack trace attached).
This plugin (VMProfileLinuxSupportPlugin) does not seem to be included by default in the Pharo VM (it works with a Squeak VM). I haven't tried on a mac, but I guess the plugin (VMProfileMacSupportPlugin) is missing too.
For the moment, I am using the latest Squeak VM with my Pharo image but it is not quite convenient. Would it be possible to include the 2 plugins to the Pharo VM ?
If I can be of any help, just tell me Thanks!
Sophie
<PrimitiveFailed.jpg>
participants (5)
-
Clément Bera -
Esteban A. Maringolo -
Max Leske -
Nicolas Cellier -
Sophie Kaleba