<html><body bgcolor="#FFFFFF"><div>This change causes serious side effects, </div><div>pls ignore it. Switching display mode won't work well.<span class="Apple-style-span" style="-webkit-composition-fill-color: rgba(175, 192, 227, 0.231373); -webkit-composition-frame-color: rgba(77, 128, 180, 0.231373); "> </span></div><div><br>Sent from my iPhone</div><div><br>On Aug 9, 2010, at 1:53 PM, Huihong Luo <<a href="mailto:huisinro@yahoo.com">huisinro@yahoo.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font: inherit;"><div>did more debugging, and I found adding QCoreApplication::processEvents() might help to solve the freeze problems when powering off with saving state. Add "QCoreApplication::processEvents();" as first line to the following two methods.</div>
<div> </div>
<div>if there is no other side effects, pls check in the changes:</div>
<div> </div><font size="2">
<div>UIMachineLogic.cpp:</div>
</font><div> </div><font color="#0000ff" size="2"><font color="#0000ff" size="2">
</font></font><div><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> UIMachineLogic::sltMachineStateChanged()</font></div><font size="2">
<div>{</div>
</font><div><font color="#008000" size="2"><font color="#008000" size="2">// this is extremely import, freezes when hibernating otherwise</font></font></div><font color="#008000" size="2"><font color="#008000" size="2"></font></font><font size="2">
<div>QCoreApplication::processEvents();</div>
</font><div> </div>
<div>...</div>
<div> </div>
<div>}</div>
<div> </div>
<div>UIMachineView.cpp:</div><font color="#0000ff" size="2"><font color="#0000ff" size="2">
</font></font><div><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> UIMachineView::sltMachineStateChanged()</font></div><font size="2">
<div>{</div>
</font><div><font color="#008000" size="2"><font color="#008000" size="2">// this is extremely import, freezes when hibernating otherwise</font></font></div><font color="#008000" size="2"><font color="#008000" size="2"></font></font><font size="2">
<div>QCoreApplication::processEvents();</div></font>
<div>...</div>
<div>}<br><br>--- On <b>Mon, 8/9/10, Huihong Luo <i><<a href="mailto:huisinro@yahoo.com">huisinro@yahoo.com</a>></i></b> wrote:<br></div>
<blockquote style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(16,16,255) 2px solid"><br>From: Huihong Luo <<a href="mailto:huisinro@yahoo.com">huisinro@yahoo.com</a>><br>Subject: Re: [vbox-dev] savestate still hangs sometimes (reported before)<br>To: <a href="mailto:vbox-dev@virtualbox.org"><a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a></a><br>Date: Monday, August 9, 2010, 10:12 AM<br><br>
<div id="yiv221283057">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td valign="top">
<div>I did some more investigation, the hang is caused by this call:</div>
<div> </div><font size="2">
</font><div><font size="2">DECLCALLBACK(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">int</font></font><font size="2">) Console::saveStateThread(RTTHREAD Thread, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> *pvUser)</font></div><font size="2">
<div>{</div>
<div> </div><font color="#0000ff" size="2"><font color="#0000ff" size="2">
</font></font><div><font color="#0000ff" size="2"><font color="#0000ff" size="2">int</font></font><font size="2"> vrc = VMR3Save(that->mpVM,</font></div><font size="2">
<div>task->mSavedStateFile.c_str(),</div>
</font><div><font color="#0000ff" size="2"><font color="#0000ff" size="2">false</font></font><font size="2">, </font><font color="#008000" size="2"><font color="#008000" size="2">/*fContinueAfterwards*/</font></font></div><font color="#008000" size="2"><font color="#008000" size="2"></font></font><font size="2">
<div>Console::stateProgressCallback,</div>
</font><div><font color="#0000ff" size="2"><font color="#0000ff" size="2">static_cast</font></font><font size="2"><VMProgressTask*>(task.get()),</font></div><font size="2">
<div>&fSuspenededBySave);                      <====</div></font>
</font><div> </div>
<div>}</div>
<div> </div>
<div>after 0% was printed out, VMR3Save() never returns.</div>
<div> </div>
<div>Interestingly, the freeze might to do with 2D accleration, because if I disble 2D acceleration, it does not occur that often. </div>
<div> </div>
<div>The freeze won't occur if doing saving state from the vm GUI console, the Close button.</div>
<div> </div>
<div> </div>
<div><br><br>--- On <b>Fri, 7/23/10, Huihong Luo <i><<a href="mailto:huisinro@yahoo.com">huisinro@yahoo.com</a>></i></b> wrote:<br></div>
<blockquote style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(16,16,255) 2px solid"><br>From: Huihong Luo <<a href="mailto:huisinro@yahoo.com">huisinro@yahoo.com</a>><br>Subject: savestate still hangs sometimes (reported before)<br>To: <a href="mailto:vbox-dev@virtualbox.org"><a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a></a><br>Date: Friday, July 23, 2010, 6:53 PM<br><br>
<div id="yiv221283057yiv60347997">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td valign="top">
<div>when 2D acceleration is enabled</div>
<div> </div>
<div>c:\virtualbox-dev\vbox\out\win.x86\release\bin>VBoxManage.exe controlvm vm1 savestate<br>0%...</div>
<div> </div>
<div>hangs after 0% is displayed.</div>
<div> </div>
<div>If doing from the Close menu, after dialog box is displayed, then choose Save State, then works well.</div>
<div> </div>
<div>I tried to break the code, it seems stop inside some Windows message loop.</div>
<div> </div>
<div>renderspu_init.c<br>renderSPUWindowThreadProc()</div>
<div>{</div>
<div>...</div><font color="#0000ff" size="2"><font color="#0000ff" size="2">
<div>else</div></font></font><font size="2">
<div>{</div>
<div>TranslateMessage(&msg);</div>
<div>DispatchMessage(&msg);</div>
<div>}</div>
<div>...</div></font>
<div>}</div>
<div> </div>
<div>This is very annoying. need to fix these crash bugs when vm is shutting down.</div></td></tr></tbody></table></div></blockquote></td></tr></tbody></table></div><br>-----Inline Attachment Follows-----<br><br>
<div class="plainMail">_______________________________________________<br>vbox-dev mailing list<br><a href="http://us.mc343.mail.yahoo.com/mc/compose?to=vbox-dev@virtualbox.org" ymailto="mailto:vbox-dev@virtualbox.org"><a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a></a><br><a href="http://vbox.innotek.de/mailman/listinfo/vbox-dev" target="_blank"><a href="http://vbox.innotek.de/mailman/listinfo/vbox-dev">http://vbox.innotek.de/mailman/listinfo/vbox-dev</a></a><br></div></blockquote></td></tr></tbody></table></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>vbox-dev mailing list</span><br><span><a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a></span><br><span><a href="http://vbox.innotek.de/mailman/listinfo/vbox-dev">http://vbox.innotek.de/mailman/listinfo/vbox-dev</a></span><br></div></blockquote></body></html>