VM Console opening without errors

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

VM Console opening without errors

Christoph Thiede

Using the latest VM candidate (201912311458) on Windows, I sometimes find the output console having opened itself without showing any meaningful error:




The output is:

SetDIBitsToDevice failed (0) -- Progress completed successfully (i translated the description from German)

I cannot tell exactly what's the cause, but it might be related to situations where the VM hangs a while during Windows is busy to scale all my many open windows. Or maybe, when the VM was busy to save my image (which, despite SSD, may take ten seconds from time to time). But I don't think any of these points should be a reason display "error no error".

Best,
Christoph



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

marcel.taeumel
I have those occasionally in the UUID plugin. A reboot helps. :-D Seems to be related to some resource management issue between plugin and operating system. Never had this "width=..." though ...

Best,
Marcel

Am 18.02.2020 09:08:59 schrieb Thiede, Christoph <[hidden email]>:

Using the latest VM candidate (201912311458) on Windows, I sometimes find the output console having opened itself without showing any meaningful error:




The output is:

SetDIBitsToDevice failed (0) -- Progress completed successfully (i translated the description from German)

I cannot tell exactly what's the cause, but it might be related to situations where the VM hangs a while during Windows is busy to scale all my many open windows. Or maybe, when the VM was busy to save my image (which, despite SSD, may take ten seconds from time to time). But I don't think any of these points should be a reason display "error no error".

Best,
Christoph



Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

Christoph Thiede

Reboot of the VM, you mean? Never heard of this plugin, is it preinstalled?


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von Taeumel, Marcel
Gesendet: Dienstag, 18. Februar 2020 09:15:04
An: John Pfersich via Squeak-dev
Betreff: Re: [squeak-dev] VM Console opening without errors
 
I have those occasionally in the UUID plugin. A reboot helps. :-D Seems to be related to some resource management issue between plugin and operating system. Never had this "width=..." though ...

Best,
Marcel

Am 18.02.2020 09:08:59 schrieb Thiede, Christoph <[hidden email]>:

Using the latest VM candidate (201912311458) on Windows, I sometimes find the output console having opened itself without showing any meaningful error:




The output is:

SetDIBitsToDevice failed (0) -- Progress completed successfully (i translated the description from German)

I cannot tell exactly what's the cause, but it might be related to situations where the VM hangs a while during Windows is busy to scale all my many open windows. Or maybe, when the VM was busy to save my image (which, despite SSD, may take ten seconds from time to time). But I don't think any of these points should be a reason display "error no error".

Best,
Christoph



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

marcel.taeumel
I wouldn't call it "reboot" if I would just restart the VM. I mean the host operating system.

Am 18.02.2020 09:16:55 schrieb Thiede, Christoph <[hidden email]>:

Reboot of the VM, you mean? Never heard of this plugin, is it preinstalled?


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von Taeumel, Marcel
Gesendet: Dienstag, 18. Februar 2020 09:15:04
An: John Pfersich via Squeak-dev
Betreff: Re: [squeak-dev] VM Console opening without errors
 
I have those occasionally in the UUID plugin. A reboot helps. :-D Seems to be related to some resource management issue between plugin and operating system. Never had this "width=..." though ...

Best,
Marcel

Am 18.02.2020 09:08:59 schrieb Thiede, Christoph <[hidden email]>:

Using the latest VM candidate (201912311458) on Windows, I sometimes find the output console having opened itself without showing any meaningful error:




The output is:

SetDIBitsToDevice failed (0) -- Progress completed successfully (i translated the description from German)

I cannot tell exactly what's the cause, but it might be related to situations where the VM hangs a while during Windows is busy to scale all my many open windows. Or maybe, when the VM was busy to save my image (which, despite SSD, may take ten seconds from time to time). But I don't think any of these points should be a reason display "error no error".

Best,
Christoph



Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

David T. Lewis
In reply to this post by Christoph Thiede
Not obvious, but worth knowing:

"Smalltalk listBuiltinModules" gives a list of all internal plugins.
These are the plugins that are compiled into the main VM executable.

"Smalltalk listLoadedModules" give a list of all external plugins that
have so far been loaded. It is not necessarily a list of all of the
external plugins, rather it is the external plugins that have been
referenced by the image. The external plugins are loaded on demand,
and once loaded, are available for fast access to the primitives that
they provide.

If a plugin is compiled as a built-in module, and if it also is
compiled as a separate external plugin (Windows dll or Unix shared
library), then the external plugin overrides the primitive implemented
in the built-in module.

UUIDPlugin is usually provided as an external plugin, in part because
the UUID runtime libraries have been problematic in the past, see
for example http://bugs.squeak.org/view.php?id=7358. If a plugin like
this is causing problems, or if you suspect that it is causing problems,
then you can get rid of in on your computer by simply deleting the dll.

Dave


On Tue, Feb 18, 2020 at 08:16:49AM +0000, Thiede, Christoph wrote:

> Reboot of the VM, you mean? Never heard of this plugin, is it preinstalled?
>
>
> Best,
>
> Christoph
>
> ________________________________
> Von: Squeak-dev <[hidden email]> im Auftrag von Taeumel, Marcel
> Gesendet: Dienstag, 18. Februar 2020 09:15:04
> An: John Pfersich via Squeak-dev
> Betreff: Re: [squeak-dev] VM Console opening without errors
>
> I have those occasionally in the UUID plugin. A reboot helps. :-D Seems to be related to some resource management issue between plugin and operating system. Never had this "width=..." though ...
>
> Best,
> Marcel
>
> Am 18.02.2020 09:08:59 schrieb Thiede, Christoph <[hidden email]>:
>
> Using the latest VM candidate (201912311458) on Windows, I sometimes find the output console having opened itself without showing any meaningful error:
>
>
> [cid:e8e58ce6-8be8-493d-8d3a-0449e4fac434]
>
>
> The output is:
>
> SetDIBitsToDevice failed (0) -- Progress completed successfully (i translated the description from German)
>
> I cannot tell exactly what's the cause, but it might be related to situations where the VM hangs a while during Windows is busy to scale all my many open windows. Or maybe, when the VM was busy to save my image (which, despite SSD, may take ten seconds from time to time). But I don't think any of these points should be a reason display "error no error".
>
> Best,
> Christoph

>


Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

Eliot Miranda-2
In reply to this post by Christoph Thiede
Hi Christoph,

On Tue, Feb 18, 2020 at 12:08 AM Thiede, Christoph <[hidden email]> wrote:

Using the latest VM candidate (201912311458) on Windows, I sometimes find the output console having opened itself without showing any meaningful error:




The output is:

SetDIBitsToDevice failed (0) -- Progress completed successfully (i translated the description from German)

I cannot tell exactly what's the cause, but it might be related to situations where the VM hangs a while during Windows is busy to scale all my many open windows. Or maybe, when the VM was busy to save my image (which, despite SSD, may take ten seconds from time to time). But I don't think any of these points should be a reason display "error no error".

$ find platforms/ -type f -exec grep -H "width=.*height=.*bits=.*dc=" {} \;
platforms//win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c:    warnPrintf(TEXT("width=%" PRIdSQINT ",height=%" PRIdSQINT ",bits=%" PRIXSQPTR ",dc=%" PRIXSQPTR "\n"),
platforms//win32/vm/sqWin32Window.c:    warnPrintf("width=%" PRIdSQINT ",height=%" PRIdSQINT ",bits=%" PRIXSQINT ",dc=%" PRIXSQPTR "\n", 

So this could be happening in a couple of places.  It does look to be trying to report an error:

platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c:
sqInt ioShowDisplayOnWindow(unsigned char* dispBits, sqInt width,
                sqInt height, sqInt depth, sqInt affectedL,
                sqInt affectedR, sqInt affectedT, sqInt affectedB,
                sqInt windowIndex) {
...

  if (lines == 0) {
    printLastError(TEXT("SetDIBitsToDevice failed"));
    warnPrintf(TEXT("width=%" PRIdSQINT ",height=%" PRIdSQINT ",bits=%" PRIXSQPTR ",dc=%" PRIXSQPTR "\n"),
           width, height, (usqIntptr_t)dispBits, (usqIntptr_t)dc);
  }

platforms/win32/vm/sqWin32Window.c:
sqInt ioShowDisplay(sqInt dispBits, sqInt width, sqInt height, sqInt depth,
          sqInt affectedL, sqInt affectedR, sqInt affectedT, sqInt affectedB)
...
  if(lines == 0) {
    printLastError(TEXT("SetDIBitsToDevice failed"));
    warnPrintf("width=%" PRIdSQINT ",height=%" PRIdSQINT ",bits=%" PRIXSQINT ",dc=%" PRIXSQPTR "\n",
           width, height, dispBits,(usqIntptr_t)dc);
  }


I'm not a Windows aficionado^H^H^H^H^H^H^H^H^H^Hexpert so I'm not about to try and debug this ;-)

Best,
Christoph


--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

timrowledge
In reply to this post by David T. Lewis


> On 2020-02-18, at 6:08 PM, David T. Lewis <[hidden email]> wrote:
>
> Not obvious, but worth knowing:
>
> "Smalltalk listBuiltinModules" gives a list of all internal plugins.
> These are the plugins that are compiled into the main VM executable.
>
> "Smalltalk listLoadedModules" give a list of all external plugins that
> have so far been loaded. It is not necessarily a list of all of the
> external plugins, rather it is the external plugins that have been
> referenced by the image. The external plugins are loaded on demand,
> and once loaded, are available for fast access to the primitives that
> they provide.

Also note that you can unload a plugin; this is primarily a benefit when you are developing a plugin since you can build it, compile it, try it, decide something needs more work, unload it, re build it, recompile it, try it again and so on. Much faster than building it internal every time and rebuilding the vm etc.

>
> If a plugin is compiled as a built-in module, and if it also is
> compiled as a separate external plugin (Windows dll or Unix shared
> library), then the external plugin overrides the primitive implemented
> in the built-in module.


The key point about the external over-riding internal is to support bug fixing without replacing the entire vm. It does of course also almost completely obviate the value of the SecurityPlugin.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
A hacker does for love what others would not do for money.



Reply | Threaded
Open this post in threaded view
|

Re: VM Console opening without errors

Eliot Miranda-2


On Wed, Feb 19, 2020 at 10:45 AM tim Rowledge <[hidden email]> wrote:


> On 2020-02-18, at 6:08 PM, David T. Lewis <[hidden email]> wrote:
>
> Not obvious, but worth knowing:
>
> "Smalltalk listBuiltinModules" gives a list of all internal plugins.
> These are the plugins that are compiled into the main VM executable.
>
> "Smalltalk listLoadedModules" give a list of all external plugins that
> have so far been loaded. It is not necessarily a list of all of the
> external plugins, rather it is the external plugins that have been
> referenced by the image. The external plugins are loaded on demand,
> and once loaded, are available for fast access to the primitives that
> they provide.

Also note that you can unload a plugin; this is primarily a benefit when you are developing a plugin since you can build it, compile it, try it, decide something needs more work, unload it, re build it, recompile it, try it again and so on. Much faster than building it internal every time and rebuilding the vm etc.

>
> If a plugin is compiled as a built-in module, and if it also is
> compiled as a separate external plugin (Windows dll or Unix shared
> library), then the external plugin overrides the primitive implemented
> in the built-in module.


The key point about the external over-riding internal is to support bug fixing without replacing the entire vm. It does of course also almost completely obviate the value of the SecurityPlugin.

The SecurityPlugin could be extended to allow/disallow plugin un/re/loading and could refuse to allow itself to be unloaded.
 

P.S. I'm getting a bit frustrated that VM discussions are being held on the general purpose list and not on vm-dev.  Not because I don't want Vm discussions here, but that vm-dev is a place of record.  Please try and cc vm-dev when a discussion strays that way.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
A hacker does for love what others would not do for money.





--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] VM Console opening without errors

David T. Lewis
On Wed, Feb 19, 2020 at 11:56:29AM -0800, Eliot Miranda wrote:
>  
> P.S. I'm getting a bit frustrated that VM discussions are being held on the
> general purpose list and not on vm-dev.  Not because I don't want Vm
> discussions here, but that vm-dev is a place of record.  Please try and cc
> vm-dev when a discussion strays that way.
>

Yes indeed, although your humble vm-dev list moderator would be profoundly
grateful if all involved if we could somehow refrain from accidentally copying
megabyte graphical attachments to every single reply to every single
email that gets CC'ed to the vm-dev list.

Thank you.
Dave