[Cocci] Coccinelle: badzero.cocci failure

Masahiro Yamada yamada.masahiro at socionext.com
Wed Nov 15 09:23:11 CET 2017


Hi Julia,


2017-11-15 15:22 GMT+09:00 Julia Lawall <julia.lawall at lip6.fr>:
>
>
> On Tue, 14 Nov 2017, Masahiro Yamada wrote:
>
>> Hi Julia,
>>
>>
>> 2017-11-14 18:07 GMT+09:00 Julia Lawall <julia.lawall at lip6.fr>:
>> >> coccicheck failed
>> >> $ cat cocci-debug.txt
>> >> /home/masahiro/bin/spatch -D report --no-show-diff --very-quiet
>> >> --cocci-file scripts/coccinelle/null/badzero.cocci --dir . -I
>> >> ./arch/x86/include -I ./arch/x86/include/generated -I ./include -I
>> >> ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi -I
>> >> ./include/uapi -I ./include/generated/uapi --include
>> >> ./include/linux/kconfig.h --jobs 8 --chunksize 1
>> >> Fatal error: exception
>> >> Yes_prepare_ocamlcocci.LinkFailure("/tmp/ocaml_cocci_18c9f9.cmxs")
>> >
>> > Does your Coccinelle support OCaml?  I'm not sure what is the proper way to
>> > check for this, but in my coccinelle/config.log file I have
>> >
>> > FEATURE_OCAML='1'
>>
>>
>> Yes.  I also see this line in my config.log
>>
>>
>> > spatch --version gives:
>> >
>> > spatch version 1.0.6-00147-g19f9421 compiled with OCaml version 4.02.3
>> > Flags passed to the configure script: [none]
>> > Python scripting support: yes
>> > Syntax of regular expresssions: Str
>>
>> My version output looks like follows:
>>
>> $ spatch --version
>> spatch version 1.0.6-00345-g2ca0bef compiled with OCaml version 4.02.3
>> Flags passed to the configure script: --prefix=/home/masahiro
>> Python scripting support: yes
>> Syntax of regular expresssions: PCRE
>>
>>
>> > I'm not sure why it doesn't give feedback on whether OCaml scripting is
>> > supported.  I will check on this.
>
> Can you try the following semantic patch (called eg nothing.cocci):
>
> @script:ocaml@
> @@
>
> ()
>
> on any .c file, ie
>
> spatch --sp-file nothing.cocci test.c
>


Thanks for the simple test semantic patch!



I noticed  1.0.4 is OK,
but 1.0.5 is NG

I guess this is a problem on Coccinelle side.


I git-bisect:ed and the first bad commit bad was:


commit cd539cd12ad0674d5a8f4c33f6c21ae00aec8e57
Author: Sébastien Hinderer <Sebastien.Hinderer at inria.fr>
Date:   Tue Mar 15 12:06:00 2016 +0100

    Get rid of the --enable-release configure option.




$ spatch --version
spatch byte-code version 1.0.4-00212-g8238ba5 compiled with OCaml version 4.02.3
Flags passed to the configure script: --prefix=/home/masahiro
Python scripting support: yes
Syntax of regular expresssions: PCRE
$ spatch  --sp-file nothing.cocci kernel/kmod.c
init_defs_builtins: /home/masahiro/lib/coccinelle/standard.h
Using native version of ocamlc/ocamlopt/ocamldep
ocamlc.opt -c /tmp/ocaml_cocci_23600a.cmo -g -I /usr/lib/ocaml  -I
/home/masahiro/lib/coccinelle/ocaml /tmp/ocaml_cocci_23600a.ml
Compilation OK!
Loading ML code of the SP...
HANDLING: kernel/kmod.c
$ spatch --version
spatch native version 1.0.4-00213-gcd539cd compiled with OCaml version 4.02.3
Flags passed to the configure script: --prefix=/home/masahiro
Python scripting support: yes
Syntax of regular expresssions: PCRE
$ spatch  --sp-file nothing.cocci kernel/kmod.c
init_defs_builtins: /home/masahiro/lib/coccinelle/standard.h
Using native version of ocamlc/ocamlopt/ocamldep
ocamlopt.opt -shared -o /tmp/ocaml_cocci_fdd282.cmxs -g -I
/usr/lib/ocaml  -I /home/masahiro/lib/coccinelle/ocaml
/tmp/ocaml_cocci_fdd282.ml
Compilation OK!
Loading ML code of the SP...
implementation mismatch on Iteration
Fatal error: exception
Yes_prepare_ocamlcocci.LinkFailure("/tmp/ocaml_cocci_fdd282.cmxs")


-- 
Best Regards
Masahiro Yamada


More information about the Cocci mailing list