Hi Haoxin,

The described behavior is indeed very odd. Luckily, the `assembly.ll` that is generated by KLEE shows that this is an actual optimization error - the code that is intended to print your messages does not exist anymore. This means that the issue lies either with the LLVM optimization passes, or in our usage of them.


As you were using fairly old LLVM versions (LLVM 9 & 10 support is about to be removed from KLEE <https://github.com/klee/klee/pull/1686>), I tried to reproduce the issue in a few different configurations:


- LLVM 9 (KLEE master): REPRODUCED

- LLVM 10 (KLEE master): REPRODUCED
- LLVM 11 (KLEE master): NOT reproduced
- LLVM 12 (KLEE master): NOT reproduced

- LLVM 13 (docker.io/klee/klee): NOT reproduced
- LLVM 14 (KLEE master): NOT reproduced
- LLVM 15 (#1664 <https://github.com/klee/klee/pull/1664>): NOT reproduced
- LLVM 16 (#1664 <https://github.com/klee/klee/pull/1664>): requires an additional include in xmalloc.c to compile; NOT reproduced


Since this bug only occurs with the two LLVM versions that are about to be removed in the next few days anyway, and there is a hard break (none of the newer versions exhibit the same behavior), I tend towards assuming that this specific issue probably stems from an old LLVM bug that has since been rectified.


Best,
Daniel


On 2024-01-31 06:58, TU Haoxin wrote:
Hi Nguyen,

Just installed and run this case using KLEE-3.0 with LLVM-10, and it seems the issue is still reproducible for KLEE 3.

Please check more here: https://gist.github.com/haoxintu/183dda2923965d1e33f64ad59c7f5338#other-trials <https://gist.github.com/haoxintu/183dda2923965d1e33f64ad59c7f5338#other-trials>


Thanks,
Haoxin



------------------------------------------------------------------------
*From:* Nguyễn Gia Phong
*Sent:* Wednesday, January 31, 2024 13:34
*To:* TU Haoxin; klee-dev@imperial.ac.uk
*Subject:* Re: [klee-dev] Different behavior of KLEE when testing `dircolors` with "--optimize=true/false" option

On 2024-01-31 at 05:07+00:00, TU Haoxin wrote:
> The behavior is that KLEE fails to fork at a branch
> that should be forked with the option --optimize option enabled
> (i.e., --optimize=true).  While the --optimize option is disabled
> i.e., --optimize=false), the branch can be successfully forked [...]
>
> ### Reproduce the behavior
> #### Enviroment
> * KLEE-2.1 (also tested KLEE-2.3, and they behave the same)

Just curious, is the issue reproducible for KLEE 3?

_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to