<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV>I did some more investigation, the hang is caused by this call:</DIV>
<DIV>&nbsp;</DIV><FONT size=2>
<DIV>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)</DIV>
<DIV>{</DIV>
<DIV>&nbsp;</DIV><FONT color=#0000ff size=2><FONT color=#0000ff size=2>
<DIV>int</FONT></FONT><FONT size=2> vrc = VMR3Save(that-&gt;mpVM,</DIV>
<DIV>task-&gt;mSavedStateFile.c_str(),</DIV>
<DIV></FONT><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*/</DIV></FONT></FONT><FONT size=2>
<DIV>Console::stateProgressCallback,</DIV>
<DIV></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>static_cast</FONT></FONT><FONT size=2>&lt;VMProgressTask*&gt;(task.get()),</DIV>
<DIV>&amp;fSuspenededBySave);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;====</DIV></FONT>
<DIV></FONT>&nbsp;</DIV>
<DIV>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>after 0% was printed out, VMR3Save() never returns.</DIV>
<DIV>&nbsp;</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>&nbsp;</DIV>
<DIV>The freeze won't occur if doing saving state from the vm GUI console, the Close button.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR><BR>--- On <B>Fri, 7/23/10, Huihong Luo <I>&lt;huisinro@yahoo.com&gt;</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 &lt;huisinro@yahoo.com&gt;<BR>Subject: savestate still hangs sometimes (reported before)<BR>To: vbox-dev@virtualbox.org<BR>Date: Friday, July 23, 2010, 6:53 PM<BR><BR>
<DIV id=yiv60347997>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=top>
<DIV>when 2D acceleration is enabled</DIV>
<DIV>&nbsp;</DIV>
<DIV>c:\virtualbox-dev\vbox\out\win.x86\release\bin&gt;VBoxManage.exe controlvm&nbsp;vm1 savestate<BR>0%...</DIV>
<DIV>&nbsp;</DIV>
<DIV>hangs after 0% is displayed.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If doing from the Close menu, after dialog box is displayed, then choose Save State, then works well.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I tried to break the code, it seems stop inside some Windows message loop.</DIV>
<DIV>&nbsp;</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(&amp;msg);</DIV>
<DIV>DispatchMessage(&amp;msg);</DIV>
<DIV>}</DIV>
<DIV>...</DIV></FONT>
<DIV>}</DIV>
<DIV>&nbsp;</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></table>