Hi Nico - nice to see that you found the problem.<div><br></div><div>There have been some changes to the logging mechanism in test_server, mainly to ensure that output is sent to the correct log when running parallel test cases. The unexpected I/O log is also added - it will be used if it can not be decided which test case a particular printout is related to. However, I don't think any of these changes could cause the problem you see.</div>

<div><br></div><div>The process which is killed is probably the file descriptor process for the html log for end_per_suite (as you kill processes in the post_end_per_suite hook function), and this log has always been opened at the same time as end_per_suite - i.e. way after you collect your original set of processes. I would rather think that there is something in your filtering that does no longer work - maybe the timing has changed a bit so you more often(?) get current function of the file descriptor process to be something other than file_io_server... ?? I'm just guessing now...</div>
<div><br></div><div>Anyway - I think the way to filter out such processes would be to check if it is a file descriptor and possibly check if the file name starts with your test suite name (file:pid2name/2). At least that's the only thing I can come up with right now...</div>
<div><br></div><div>Good luck!</div><div>/siri</div><div><br></div><div><div><br><div class="gmail_quote">2013/2/26 Nico Kruber <span dir="ltr"><<a href="mailto:nico.kruber@gmail.com" target="_blank">nico.kruber@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Siri,<br>
Thank you for looking into this but, I just found the code responsible for the<br>
error - on our side:<br>
<br>
At the end of each test suite (via a common test hook) we kill all processes<br>
that have not been running before the suite was started (to make sure that<br>
previous test suites don't influence new ones). This includes processes<br>
spawned without linking to the originating process - the rest is already<br>
killed by common test.<br>
<br>
There are some exceptions and apparently something changed and we killed too<br>
many processes. In this case it was the following:<br>
initial_call:             {erlang,apply,2},<br>
current_function:  {prim_file,drv_get_response,1}<br>
<br>
There is no safe way to filter that process out (based on current_function or<br>
any other process_info I'm aware of) and I'd rather use some common test<br>
functionality isolating test suites but so far I'm not aware of any...<br>
-> this would be a useful extension to common test though<br>
<br>
<br>
Nico<br>
<div><div><br>
On Tuesday 26 Feb 2013 16:32:52 Siri Hansen wrote:<br>
> Hi Nico - it looks like the test case HTML log has been terminated somehow.<br>
> I'm not sure how this could have happened, but it was terminated prior to<br>
> the error printout seen below. Could you please have a look at<br>
><br>
> 1. the "common test framework log" - (ctlog.html in the ct_run.xxxx<br>
> directory)<br>
> 2. the unexpected io log (there is a link to this from the index page where<br>
> all test cases are listed - or "find unexpected_io.log.html")<br>
><br>
> to see if there is anything that could give a hint?<br>
><br>
> Also the test case log where this happened is interesting of course.<br>
><br>
> Thanks!<br>
> /siri@otp<br>
><br>
><br>
> 2013/2/26 Nico Kruber <<a href="mailto:nico.kruber@gmail.com" target="_blank">nico.kruber@gmail.com</a>><br>
><br>
> > In current Erlang master I get a case_clause in io:put_chars running<br>
> > Scalaris<br>
> > unit tests (we use common test here). The actual test suite at which this<br>
> > happens varies though.<br>
> > Here are two logs:<br>
> ><br>
> > -------------------------------<br>
> > EXIT, reason {terminated,<br>
> ><br>
> >                  [{io,put_chars,<br>
> ><br>
> >                       [<0.25486.1>,unicode,<br>
> ><br>
> >                        [60,47,112,114,101,62,10,"<center>\n<br /><hr<br>
> ><br>
> > /><p>\n",<br>
> ><br>
> >                         "<a href=\"","../../../all_runs.html",<br>
> >                         "\">Test run history\n</a>  |  ","<a href=\"",<br>
> >                         "../../../index.html",<br>
> >                         "\">Top level test index\n</a>\n</p>\n",<br>
> >                         ["<div class=\"copyright\">","Copyright &copy; ",<br>
> ><br>
> >                          "2013"," <a href=\"<a href="http://www.erlang.org" target="_blank">http://www.erlang.org</a>\">",<br>
> >                          "Open Telecom Platform</a><br />\n",<br>
> >                          "Updated: <!date>","Tue Feb 26 2013 06:35:39",<br>
> >                          "<!/date>","<br />\n</div>\n"],<br>
> ><br>
> >                         "</center>\n</body>\n</html>\n"]],<br>
> ><br>
> >                       []},<br>
> ><br>
> >                   {test_server_ctrl,stop_minor_log_file,0,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1815}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases_loop,5,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2741}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2086}]},<br>
> ><br>
> >                   {test_server_ctrl,ts_tc,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1231}]},<br>
> ><br>
> >                   {test_server_ctrl,init_tester,10,<br>
> ><br>
> > [{file,"test_server_ctrl.erl"},{line,1192}]}]}Updating<br>
> > /home/buildbot/scalaris-full-slave/full-dev/build/index.html... done<br>
> > Updating<br>
> > /home/buildbot/scalaris-full-slave/full-dev/build/all_runs.html...<br>
> > done<br>
> > Test run crashed! This could be an internal error - please report!<br>
> ><br>
> > {{case_clause,<br>
> ><br>
> >      {value,<br>
> ><br>
> >          {'EXIT',<br>
> ><br>
> >              {terminated,<br>
> ><br>
> >                  [{io,put_chars,<br>
> ><br>
> >                       [<0.25486.1>,unicode,<br>
> ><br>
> >                        [60,47,112,114,101,62,10,"<center>\n<br /><hr<br>
> ><br>
> > /><p>\n",<br>
> ><br>
> >                         "<a href=\"","../../../all_runs.html",<br>
> >                         "\">Test run history\n</a>  |  ","<a href=\"",<br>
> >                         "../../../index.html",<br>
> >                         "\">Top level test index\n</a>\n</p>\n",<br>
> >                         ["<div class=\"copyright\">","Copyright &copy; ",<br>
> ><br>
> >                          "2013"," <a href=\"<a href="http://www.erlang.org" target="_blank">http://www.erlang.org</a>\">",<br>
> >                          "Open Telecom Platform</a><br />\n",<br>
> >                          "Updated: <!date>","Tue Feb 26 2013 06:35:39",<br>
> >                          "<!/date>","<br />\n</div>\n"],<br>
> ><br>
> >                         "</center>\n</body>\n</html>\n"]],<br>
> ><br>
> >                       []},<br>
> ><br>
> >                   {test_server_ctrl,stop_minor_log_file,0,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1815}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases_loop,5,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2741}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2086}]},<br>
> ><br>
> >                   {test_server_ctrl,ts_tc,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1231}]},<br>
> ><br>
> >                   {test_server_ctrl,init_tester,10,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1192}]}]}}}},<br>
> ><br>
> >  [{ct_run,execute_all_specs,4,[{file,"ct_run.erl"},{line,433}]},<br>
> ><br>
> >   {ct_run,script_start1,2,[{file,"ct_run.erl"},{line,352}]}]}<br>
> ><br>
> > -------------------------------<br>
> > EXIT, reason {terminated,<br>
> ><br>
> >                  [{io,put_chars,<br>
> ><br>
> >                       [<0.17599.5>,unicode,<br>
> ><br>
> >                        [60,47,112,114,101,62,10,"<center>\n<br /><hr<br>
> ><br>
> > /><p>\n",<br>
> ><br>
> >                         "<a href=\"","../../../all_runs.html",<br>
> >                         "\">Test run history\n</a>  |  ","<a href=\"",<br>
> >                         "../../../index.html",<br>
> >                         "\">Top level test index\n</a>\n</p>\n",<br>
> >                         ["<div class=\"copyright\">","Copyright &copy; ",<br>
> ><br>
> >                          "2013"," <a href=\"<a href="http://www.erlang.org" target="_blank">http://www.erlang.org</a>\">",<br>
> >                          "Open Telecom Platform</a><br />\n",<br>
> >                          "Updated: <!date>","Tue Feb 26 2013 14:10:02",<br>
> >                          "<!/date>","<br />\n</div>\n"],<br>
> ><br>
> >                         "</center>\n</body>\n</html>\n"]],<br>
> ><br>
> >                       []},<br>
> ><br>
> >                   {test_server_ctrl,stop_minor_log_file,0,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1815}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases_loop,5,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2741}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2086}]},<br>
> ><br>
> >                   {test_server_ctrl,ts_tc,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1231}]},<br>
> ><br>
> >                   {test_server_ctrl,init_tester,10,<br>
> ><br>
> > [{file,"test_server_ctrl.erl"},{line,1192}]}]}Updating<br>
> > /home/bzckrube/scalaris/index.html... done<br>
> > Updating /home/bzckrube/scalaris/all_runs.html... done<br>
> ><br>
> > =ERROR REPORT==== 26-Feb-2013::14:10:02 ===<br>
> > Error in process <0.35.0> on node '<a href="mailto:ct@127.0.0.1" target="_blank">ct@127.0.0.1</a>' with exit value:<br>
> ><br>
> > {{case_clause,{value,{'EXIT',{terminated,[{io,put_chars,[<0.17599.5>,unico<br>
</div></div>> > de, [60,47,112,114,101,62,10,"<center>\n<br /><hr /><p>\n","<a<br>
<div><div>> > href=\"","../../../all_runs.html","\">Test run history\n</a>  |  ","<a<br>
> > href=\"","../../../index.html","\">Top lev...<br>
> ><br>
> > Test run crashed! This could be an internal error - please report!<br>
> ><br>
> > {{case_clause,<br>
> ><br>
> >      {value,<br>
> ><br>
> >          {'EXIT',<br>
> ><br>
> >              {terminated,<br>
> ><br>
> >                  [{io,put_chars,<br>
> ><br>
> >                       [<0.17599.5>,unicode,<br>
> ><br>
> >                        [60,47,112,114,101,62,10,"<center>\n<br /><hr<br>
> ><br>
> > /><p>\n",<br>
> ><br>
> >                         "<a href=\"","../../../all_runs.html",<br>
> >                         "\">Test run history\n</a>  |  ","<a href=\"",<br>
> >                         "../../../index.html",<br>
> >                         "\">Top level test index\n</a>\n</p>\n",<br>
> >                         ["<div class=\"copyright\">","Copyright &copy; ",<br>
> ><br>
> >                          "2013"," <a href=\"<a href="http://www.erlang.org" target="_blank">http://www.erlang.org</a>\">",<br>
> >                          "Open Telecom Platform</a><br />\n",<br>
> >                          "Updated: <!date>","Tue Feb 26 2013 14:10:02",<br>
> >                          "<!/date>","<br />\n</div>\n"],<br>
> ><br>
> >                         "</center>\n</body>\n</html>\n"]],<br>
> ><br>
> >                       []},<br>
> ><br>
> >                   {test_server_ctrl,stop_minor_log_file,0,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1815}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases_loop,5,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2741}]},<br>
> ><br>
> >                   {test_server_ctrl,run_test_cases,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,2086}]},<br>
> ><br>
> >                   {test_server_ctrl,ts_tc,3,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1231}]},<br>
> ><br>
> >                   {test_server_ctrl,init_tester,10,<br>
> ><br>
> >                       [{file,"test_server_ctrl.erl"},{line,1192}]}]}}}},<br>
> ><br>
> >  [{ct_run,execute_all_specs,4,[{file,"ct_run.erl"},{line,433}]},<br>
> ><br>
> >   {ct_run,script_start1,2,[{file,"ct_run.erl"},{line,352}]}]}<br>
> ><br>
> > -------------------------------<br>
> ><br>
> > to test, checkout Scalaris from<br>
</div></div>> > <a href="http://scalaris.googlecode.com/svn/trunk/then" target="_blank">http://scalaris.googlecode.com/svn/trunk/then</a> configure && make test<br>
> ><br>
> > Regards<br>
> > Nico<br>
</blockquote></div><br></div></div>