Now I'm thinking that one or more of the rmtree() calls in creduce is wrong or premature.

Can we rely on tempdir()'s CLEANUP flag to do this and avoid explicit rmtree calls?

John




On 05/15/2013 10:37 AM, Дмитрий Дьяченко wrote:
+1 old bug. i saw it in october-2012. And (i'm not 100% sure) in May
2013 with clang-trunk + creduce-trunk

after creduce_delta crashes there are no files in temporary dir to sent to list.

Bug is described by Paolo Matos in
http://article.gmane.org/gmane.comp.programming.creduce.devel/169


Dmitry

2013/5/15 John Regehr <[email protected]>:
This is mainly for Konstantin but I thought it would be better here than in
private mail.

The C-Reduce output below shows two problems.  First, the "getcwd() failed"
problem has been there for some time, I added the bug when I added parallel
testcase reduction.  It does not happen when reducing with "-n 1".  It does
not appear to affect results but it is annoying. I spent some time looking
for the issue and didn't find it.

Second, the "TERM caught" problem is new.  The exit occurs in this line:

    File::Copy::copy($tmpfn,$toreduce_best) or die;

One possibility is that this is related to the first problem and was latent
until one of Konstantin's recent changes.  Another possibility is that these
changes somehow added a bug.  Anyway, this problem also does not seem to
happen when running in non-parallel mode.

Anyway, I'd like to get these nailed down if anyone has time to take a
look...

Thanks,

John



(100.0 %, 1260 bytes)
(100.0 %, 1094 bytes)
(100.0 %, 921 bytes)
(100.0 %, 634 bytes)
(100.0 %, 551 bytes)
===< pass_lines :: 1 >===
(100.0 %, 556 bytes)
(100.0 %, 555 bytes)
===< pass_lines :: 2 >===
(100.0 %, 567 bytes)
(100.0 %, 566 bytes)
sh: 0: getcwd() failed: No such file or directory
(100.0 %, 539 bytes)
(100.0 %, 519 bytes)
===< pass_lines :: 2 >===
(100.0 %, 528 bytes)
sh: 0: getcwd() failed: No such file or directory
(100.0 %, 527 bytes)
===< pass_lines :: 2 >===
(100.0 %, 536 bytes)
(100.0 %, 535 bytes)
===< pass_lines :: 10 >===
(100.0 %, 544 bytes)
(100.0 %, 543 bytes)
===< pass_lines :: 10 >===
TERM caught, terminating 3982
Died at /home/regehr/z/creduce/creduce/creduce line 336.

Reply via email to