<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2014-05-25 2:39 GMT+02:00 Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi, thanks for noticing and investigating this!  Seeing this now, I<br>
think we should signal an Error rather than a Warning to be more<br>
TestCase friendly but also because persisting empty packages is so<br>
painful, it should be an error, hands down.  Better to force a<br>
resolution to the issue than silently persist modules of<br>
future-pain...<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>In any case, I think you accidently uncovered bugs in Tests-Monticello.<br></div><div>I&#39;m looking at a fix for a few hours, and it&#39;s really messy.<br>
</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
On Sat, May 24, 2014 at 6:13 PM, Nicolas Cellier<br>
&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>
&gt; Now <a href="http://build.squeak.org/job/SqueakTrunk/856/" target="_blank">http://build.squeak.org/job/SqueakTrunk/856/</a> is back to a better red<br>
&gt; state: one that time out after 20 minutes because of the [Warning signal:<br>
&gt; &#39;About to serialize an empty package.&#39;]<br>
&gt; (like I told in my first mail and like in builds<br>
&gt; <a href="http://build.squeak.org/job/SqueakTrunk/823/" target="_blank">http://build.squeak.org/job/SqueakTrunk/823/</a> to<br>
&gt; <a href="http://build.squeak.org/job/SqueakTrunk/833/" target="_blank">http://build.squeak.org/job/SqueakTrunk/833/</a>)<br>
&gt;<br>
&gt; So applying Chris&#39; fix and repairing the update-stream was not enough to get<br>
&gt; rid of it.<br>
&gt;<br>
&gt; The Warning is triggered by #testMcdSerialization<br>
&gt; It appears that (self mockDiffyVersion) has no changes...<br>
&gt; Though, mockDiffyVersion tries to  change: #a toReturn: &#39;a2&#39;.<br>
&gt; Something in this test is not working as intended, but here I&#39;ll stop for<br>
&gt; tonight.<br>
&gt;<br>
&gt;<br>
&gt; 2014-05-25 0:48 GMT+02:00 Nicolas Cellier<br>
&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;:<br>
&gt;<br>
&gt;&gt; OK, <a href="http://build.squeak.org" target="_blank">build.squeak.org</a>, I have to admit, you win...<br>
&gt;&gt; <a href="http://build.squeak.org/job/SqueakTrunk/855/console" target="_blank">http://build.squeak.org/job/SqueakTrunk/855/console</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Ddin&#39;t we see this failure already?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Segmentation fault Sun May 25 00:39:10 2014<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Squeak VM version: 4.0-2776 #1 Thu Aug 22 10:35:56 PDT 2013 gcc 4.1.2<br>
&gt;&gt; [Production ITHB VM]<br>
&gt;&gt; Built from: CoInterpreter VMMaker.oscog-eem.331 uuid:<br>
&gt;&gt; 37d2e4b0-2f37-4e2d-8313-c63637785e59 Aug 22 2013<br>
&gt;&gt; With: StackToRegisterMappingCogit VMMaker.oscog-eem.333 uuid:<br>
&gt;&gt; 84da9cb8-7f30-4cb7-b4fb-239a11f63b54 Aug 22 2013<br>
&gt;&gt; Revision: VM: r2776 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a><br>
&gt;&gt; Plugins: r2545<br>
&gt;&gt; <a href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins" target="_blank">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a><br>
&gt;&gt; Build host: Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST<br>
&gt;&gt; 2009 i686 i686 i386 GNU/Linux<br>
&gt;&gt; plugin path:<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776<br>
&gt;&gt; [default:<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/lib/squeak/4.0-2776/]<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; C stack backtrace:<br>
&gt;&gt;<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776/squeak[0x805d051]<br>
&gt;&gt;<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776/squeak[0x805d228]<br>
&gt;&gt; [0xf57fe40c]<br>
&gt;&gt;<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776/squeak[0x80e5a59]<br>
&gt;&gt; [0x473c7848]<br>
&gt;&gt;<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776/squeak(interpret+0x1eb)[0x808107b]<br>
&gt;&gt;<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776/squeak(main+0x397)[0x805d717]<br>
&gt;&gt; /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe6)[0xb7560ca6]<br>
&gt;&gt;<br>
&gt;&gt; /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2776/coglinux/bin/../lib/squeak/4.0-2776/squeak[0x805b101]<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Smalltalk stack dump:<br>
&gt;&gt; 0xbfa178a4 M LargePositiveInteger&gt;\\ 0x4899127c: a(n) LargePositiveInteger<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2014-05-25 0:06 GMT+02:00 Nicolas Cellier<br>
&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Ah, no, the build is still failing!<br>
&gt;&gt;&gt; Since <a href="http://build.squeak.org/job/SqueakTrunk/834/" target="_blank">http://build.squeak.org/job/SqueakTrunk/834/</a> it&#39;s another problem<br>
&gt;&gt;&gt; with:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; MCClassDefinition&gt;&gt;createClass<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I encountered this one while updating some of my old trunk images.<br>
&gt;&gt;&gt; The definition changed in Monticello-cwp.589:<br>
&gt;&gt;&gt; +                       inEnvironment: (CurrentEnvironment signal ifNil:<br>
&gt;&gt;&gt; [superClass environment])<br>
&gt;&gt;&gt; -                       inEnvironment: (EnvironmentRequest signal ifNil:<br>
&gt;&gt;&gt; [superClass environment])<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; But there is no EnvironmentRequest anymore when loading this definition,<br>
&gt;&gt;&gt; so we signal nil, and the load fails.<br>
&gt;&gt;&gt; We would have expected this, it&#39;s just be renamed in:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Environments-cwp.47<br>
&gt;&gt;&gt; Time: 22 March 2014, 7:53:17.666 pm<br>
&gt;&gt;&gt; Rename EnvironmentRequest to CurrentEnvironment and use it to implement<br>
&gt;&gt;&gt; Environment class&gt;&gt;current.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; To be safe, the rename should have been performed in two stages:<br>
&gt;&gt;&gt; 1) create the new class and migrate customers from the old to the new<br>
&gt;&gt;&gt; one.<br>
&gt;&gt;&gt; 2) remove the old one<br>
&gt;&gt;&gt; It would thus have required two updates.mcm and not a single one<br>
&gt;&gt;&gt; (MC lacks a semantic #rename: so it does not work like in-image-tools)<br>
&gt;&gt;&gt; Unfortunately, update-cwp.48 did perform the two operations at once...<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Curiously, if I take an artefact from build server and update, the<br>
&gt;&gt;&gt; upgrade is then processing fine... Don&#39;t ask why.<br>
&gt;&gt;&gt; Since no one complained, I told to myself that it was me not following<br>
&gt;&gt;&gt; the standard process, I patched my images manually and restarted the<br>
&gt;&gt;&gt; upgrade.<br>
&gt;&gt;&gt; But I now see that it&#39;s not just me, there is a CI machine too using<br>
&gt;&gt;&gt; Squeak trunk (anyone else???)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I have to cheat again with mcm surgery:<br>
&gt;&gt;&gt; - publish an Environments-nice.47 that adds the CurrentEnvironment, but<br>
&gt;&gt;&gt; not removes EnvironmentRequest<br>
&gt;&gt;&gt; - patch update-cwp.48 to point to Environments-nice.47 rather than<br>
&gt;&gt;&gt; Environments-cwp.47<br>
&gt;&gt;&gt; That&#39;ll be in a few minutes...<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2014-05-24 22:58 GMT+02:00 Nicolas Cellier<br>
&gt;&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2014-05-24 22:36 GMT+02:00 Nicolas Cellier<br>
&gt;&gt;&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt; it seems that most of the builds are red for 2 months.<br>
&gt;&gt;&gt;&gt;&gt; I checked the last artefact for squeak trunk:<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://build.squeak.org/job/SqueakTrunk/853/" target="_blank">http://build.squeak.org/job/SqueakTrunk/853/</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; It&#39;s still blocked with the [Warning signal: &#39;About to serialize an<br>
&gt;&gt;&gt;&gt;&gt; empty package.&#39;]<br>
&gt;&gt;&gt;&gt;&gt; With this warning, a test never time out (I don&#39;t know why exactly, but<br>
&gt;&gt;&gt;&gt;&gt; it seems that theProcess monitored by the timeout watchdog is already<br>
&gt;&gt;&gt;&gt;&gt; suspended by the Warning)<br>
&gt;&gt;&gt;&gt;&gt; As a result, the tests do never complete and are aborted after 20<br>
&gt;&gt;&gt;&gt;&gt; minutes...<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Chris has fixed the problem since, but it seems that the CI does not<br>
&gt;&gt;&gt;&gt;&gt; upload latest trunk.<br>
&gt;&gt;&gt;&gt;&gt; Why?<br>
&gt;&gt;&gt;&gt;&gt; It seems to be the same problem as the TestRunner: updating triggers<br>
&gt;&gt;&gt;&gt;&gt; the same [Warning signal: &#39;About to serialize an empty package.&#39;]<br>
&gt;&gt;&gt;&gt;&gt; Ah Chris, it&#39;s irony that it&#39;s you who precisely keep on fighting modal<br>
&gt;&gt;&gt;&gt;&gt; UI ;)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Now the question: how do we escape from this situation?<br>
&gt;&gt;&gt;&gt;&gt; Shall I cheat and modify the update that is blocking?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; So I decided to cheat:<br>
&gt;&gt;&gt;&gt; I brought update-eem.279 to the surgery block and reverted<br>
&gt;&gt;&gt;&gt; CommandLine-fbs.3 -&gt; CommandLine-fbs.2<br>
&gt;&gt;&gt;&gt; CommandLine-fbs.3 tried to be smart and workaround the Warning problem,<br>
&gt;&gt;&gt;&gt; but before it had a chance to load, it precisely triggered this Warning!!!<br>
&gt;&gt;&gt;&gt; Since this update is also bringing Chris fix, let&#39;s defer<br>
&gt;&gt;&gt;&gt; CommandLine-fbs.3 to next update (eem-280) and cross fingers...<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div></div>