[Vm-dev] [squeak-dev] VM Console opening without errors

Eliot Miranda eliot.miranda at gmail.com
Wed Feb 19 03:19:55 UTC 2020


Hi Christoph,

On Tue, Feb 18, 2020 at 12:08 AM Thiede, Christoph <
Christoph.Thiede at student.hpi.uni-potsdam.de> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200218/6f1bda46/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 15330 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200218/6f1bda46/attachment-0001.png>


More information about the Vm-dev mailing list