<div dir="ltr">Thanks for reading, sorry for the delay, I wanted to do more tests. Answer between lines<br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 26, 2015 at 9:27 AM, Stefan Dösinger <span dir="ltr"><<a href="mailto:stefandoesinger@gmail.com" target="_blank">stefandoesinger@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
Hi,<br>
<span><br>
Am 2015-08-25 um 22:09 schrieb Javier Pimás:<br>
> Hi! this is a very low-level technical question and my first one to<br>
> this list so please take with a grain of salt. I'm debugging a 32<br>
> bit app in wine 1.6.2, on ubuntu 15.04 64 bits.<br>
</span>I recommend to switch to the development version of Wine if you're<br>
doing debugging like this.<br>
<span><br>
> The app I'm debugging is a smalltalk vm, so it is very possessive<br>
> with the native stack, synchronization, callbacks and things like<br>
> that. I'm having a problem that happens in wine and not in windows,<br>
> and the following thing I describe might be the cause, it's very<br>
> subtle.<br>
</span>I can't answer the core part of your question I'm afraid. I'm curious<br>
though why this would make a difference. Does the VM place something<br>
on the stack that the message handler expects to find? If so, how does<br>
it find it? Does it expect a certain stack depth as well?<br></blockquote><div><br></div><div>It's not so much for the stack shape but that the VM expects executing app code after returning from a WndProc. Before returning, the VM sets a RETURNED_FROM_CALLBACK flag, that is checked on method activations (very frequently). If WaitMessage doesn't return, a method activation doesn't occur and the flag is left active. A second non-queued message then reenters app code, and on the first method activation the flag is detected the code isn't where it supposed (after returning) but in another callback, confusing the app. This is not to mean the VM is bug free, the strange thing is that it behaves differently in wine and windows.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2<br>
<br>
iQIcBAEBAgAGBQJV3bCaAAoJEN0/YqbEcdMwoXEP/Rss350C+9yjpzRoZKcXkhop<br>
37QwmLrlkXg7Br0xWhgltfiIXpmRcrKq1EgGah0m9YTfSTjLbOIz80XszUELSCCc<br>
lGnTOlkvETCJMv7EdinIVehngpm4phRugpfZSDdPNnx+orJn6T87PkbDhwTZsZ6u<br>
g3TljQ1sLbF2O/AOKzr8S3CltIkf5oReHB29T4DnABbQqfXm0X5PhyKPevCtnWTG<br>
od3PgQprwCve+DJmikZAVrqQtyms9xaryLh9Xc3XrYO8YNe2lxgfKYJY8NA3tDsk<br>
nA+A1sNZferqIl5xUMooaquzU9471FS5pItXRPsnXJ5zwrzC47afgF47bnLpUmaQ<br>
R2B6Vt8mUlB/KpNnhzzu9Q/RrEDwOj8PxmY/lhcSH2y4Y3VTAQCY2Mhrqc2tdJWT<br>
li8R6OCF24pA1EM7q/+5gB2hedO4kMHcy5LcDvtxXbamIafxuUCM6loG5LR2VE+x<br>
6qR1z+83CknyOOAm/MePNMDZqJ4dJmuM3V+8Dsv5YK5YtyM03i1Qy9l78jTkUGIG<br>
2jVsRW1Ske+Uz50cBtago9z8S01BTMsLtctmQeFfmushfPW5BUjRLrJD257EngVH<br>
lqNSBDSV/u41EiDjapN3ASkcWrEihdOyYQLJAfDjwu4vAN5MMO27B3N14wL2zKQ0<br>
5+q0DrKfLGFUTgIQL0bR<br>
=J5gb<br>
-----END PGP SIGNATURE-----<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Javier Pimás<br>Ciudad de Buenos Aires</div></div>
</div></div>