Thanks! I update creduce and now all works
Dmitry 2013/6/9 John Regehr <[email protected]>: > Dmitry, although I haven't yet reproduced this, I just pushed a change that > causes C-Reduce to give up on a pass that might be stuck in a no-progress > loop. > > It's very easy to write passes that contain this problem, so this may be > generally useful. Up to now I had avoided adding this feature since I'd > rather find bugs than hide them, but I also added a command line option that > gives the old behavior. > > > John > > > > On 06/09/2013 08:02 AM, Дмитрий Дьяченко wrote: >> >> John, >> its a strange quest :) >> >> I'll try write step-by-step guide. Sorry, my English is bad. >> I can send quick guide "Fedora 19: How to install creduce" if needed. >> >> At first, I hit err with gcc-4.8.0 / Fedora 19 alpha >> gcc-4.8.1 / Fedora 19 beta FAIL too >> >> Probably, all You need to reproduce is Linux distro with gcc-4.8.[01] >> installed >> >> May be, this sequence contains extra (unneeded) steps. >> >> All mentioned files You can find in attach. >> >> gcc -fpreprocessed -flto -c s.i >> g++ -fpreprocessed -flto -c a.ii >> >> ar cru tmp.a a.o >> ranlib tmp.a >> ld -m elf_x86_64 -r -o tmp.o --whole-archive tmp.a s.o --no-whole-archive >> ar cru lib1.a tmp.o >> >> cp s.o s2.o >> ld -m elf_x86_64 -r -o tmp2.o --whole-archive s2.o --no-whole-archive >> >> g++ -fpreprocessed -flto -c x.ii >> g++ -O0 -flto -o tst x.o lib1.a tmp2.o # FAIL >> with messages smth like >> <<strcat>> has already been defined >> "errors during merging of translation units" >> >> $ cat x.sh >> g++ -fpreprocessed -flto -c x.ii > a 2>&1 && \ >> g++ -O0 -flto -o tst x.o /home/dimhen/errs/gcc-4.9/n/esp/tmp2.o >> /home/dimhen/errs/gcc-4.9/n/esp/lib1.a > a 2>&1 >> grep "previously defined here" a > /dev/null 2>&1 >> >> $ creduce x.sh x.ii >> [...] >> (55.3 %, 877 bytes) >> ===< pass_clang :: remove-enum-member-value >=== >> ===< pass_clang :: remove-unused-var >=== >> ===< pass_special :: a >=== >> ===< pass_special :: b >=== >> ^C >> $ >> >> Thanks, >> Dmitry >> >> 2013/6/9 John Regehr <[email protected]>: >>> >>> Dmitry, can you send me instructions for reproducing a C-Reduce hang on >>> the >>> current code? >>> >>> Thanks, >>> >>> >>> John >>> >>> >>> >>> On 06/08/2013 02:58 PM, Дмитрий Дьяченко wrote: >>>> >>>> >>>> John, >>>> with creduce-latest + clang-3.2 I got the same crash in test #6. >>>> Now I find crash-file in temporary directory in creduce/tests/ >>>> Crash-file attached. >>>> >>>> Sorry, I not mention early why I try clang-latest + creduce-latest: at >>>> first, to my fun :), and second, in hope to provide useful feedback to >>>> your research group. >>>> I do gcc-bug-hunting relatively rare and for each new one I try new >>>> clang + new creduce :) >>>> >>>> May be you find interesting [preliminary] comparison of >>>> creduce-current with clang-3.2/3.4-trunk >>>> >>>> 1. comparison creduce/tests/run_tests >>>> a) the same tests FAIL and PASS >>>> b) test #6 crash with both clang's versions >>>> c) elapsed time in seconds as run_tests reports >>>> 3.2 3.4-current >>>> 0: 922 207 >>>> 1: 23 28 >>>> 2: 928 212 >>>> 3: 17 24 >>>> 6: 2209 1048 >>>> >>>> 2. comparison for real-world tasks: >>>> results are identical with both versions of clang -- reductions hang >>>> >>>> Thanks, >>>> Dmitry >>>> >>>> 2013/6/8 John Regehr <[email protected]>: >>>>> >>>>> >>>>> Hi Dmitry, >>>>> >>>>> I'm in the middle of some more C-Reduce changes right now. It might be >>>>> best >>>>> to not use the current version until things stabilize a bit. >>>>> >>>>> >>>>>> -- tests 0..3 PASS >>>>>> -- tests 4, 5, 7 FAIL with >>>>> >>>>> >>>>> >>>>> >>>>> I'll look into this, thanks for letting us know. >>>>> >>>>> >>>>>> 0. <eof> parser at end of file >>>>>> sh: line 1: 23784 Segmentation fault (core dumped) >>>>>> /home/dimhen/build/creduce/creduce/../clang_delta/clang_delta >>>>>> --transformation=return-void --counter=1 >>>>>> /home/dimhen/tmp/creduce-WStouG/small.c > /tmp/file0I5kCp >>>>> >>>>> >>>>> >>>>> >>>>> Right now we only develop and test using Clang 3.2, so we can't help >>>>> you >>>>> with crashes against the LLVM top of tree. It's super easy to download >>>>> the >>>>> 3.2 binary distribution and compile C-Reduce against it, so I'd ask you >>>>> to >>>>> just do that. >>>>> >>>>> I have not seen any hangs like you are seeing, but it could easily be >>>>> that I >>>>> have introduced new bugs lately. I'm still making some changes to the >>>>> core >>>>> of C-Reduce but will hopefully be done soon, and then I'll try to >>>>> reproduce >>>>> the problems you are seeing. >>>>> >>>>> John
