emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Certain numbers of special forms cause changing behaviour on functio


From: Noam Postavsky
Subject: Re: Certain numbers of special forms cause changing behaviour on function calls in --batch
Date: Sun, 10 Jul 2016 07:33:47 -0400

On Sun, Jul 10, 2016 at 7:13 AM, Yasushi SHOJI <address@hidden> wrote:
> On Sun, Jul 10, 2016 at 7:34 PM, Yasushi SHOJI <address@hidden>
> wrote:
>> On Thu, Jul 7, 2016 at 12:04 AM, Eli Zaretskii <address@hidden> wrote:
>> > So more data points might help, yes.
>>
>> I can reproduce this bug on my Debian Sid system with
>> gcc version 5.4.0 20160609 (Debian 5.4.0-6).
>
> I should have tested with different compilers before posting the
> previous comment since Eli predicted that a bad compiler is a problem.
>
> Yes, the results differ depending on the compiler you use.

I have gcc 5.3.0 here, and I get 10 (correct) when I compile Emacs
24.5 configured with --enable-checking, but 20 (incorrect) without
that flag. In both cases running temacs with valgrind gives some
errors which look suspicious (the version without --enable-checking
additionally gives a bunch of what I assume are false positives while
starting up). Emacs 25 gives similar errors (I haven't tried Emacs 25
without --enable-check).

(I'm showing here just the results from the --enable-checking
versions, without it's the same except for printing 20 instead of 10)

valgrind emacs-24.5/src/temacs -Q --batch -l nasty-move-end-of-line-batch.el
[...]
==6167== Conditional jump or move depends on uninitialised value(s)
==6167==    at 0x55E74E: CHECK_NUMBER_OR_FLOAT (lisp.h:2627)
==6167==    by 0x5EC762: Fzerop (data.c:2387)
==6167==    by 0x608571: Ffuncall (eval.c:2811)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608764: Ffuncall (eval.c:2860)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608764: Ffuncall (eval.c:2860)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608A99: apply_lambda (eval.c:2919)
==6167==
==6167== Conditional jump or move depends on uninitialised value(s)
==6167==    at 0x5EC76B: Fzerop (data.c:2389)
==6167==    by 0x608571: Ffuncall (eval.c:2811)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608764: Ffuncall (eval.c:2860)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608764: Ffuncall (eval.c:2860)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608A99: apply_lambda (eval.c:2919)
==6167==    by 0x6070E9: eval_sub (eval.c:2226)
==6167==
==6167== Conditional jump or move depends on uninitialised value(s)
==6167==    at 0x5EC7B4: Fzerop (data.c:2396)
==6167==    by 0x608571: Ffuncall (eval.c:2811)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608764: Ffuncall (eval.c:2860)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608764: Ffuncall (eval.c:2860)
==6167==    by 0x650F35: exec_byte_code (bytecode.c:916)
==6167==    by 0x608DA1: funcall_lambda (eval.c:2978)
==6167==    by 0x608A99: apply_lambda (eval.c:2919)
==6167==    by 0x6070E9: eval_sub (eval.c:2226)
==6167==
point is: 10
==6167==
==6167== HEAP SUMMARY:
[...]



valgrind emacs-25/src/temacs -Q --batch -l nasty-move-end-of-line-batch.el
[...]
==6186== Conditional jump or move depends on uninitialised value(s)
==6186==    at 0x67110E: exec_byte_code (bytecode.c:1367)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624B3A: Ffuncall (eval.c:2742)
==6186==    by 0x66F310: exec_byte_code (bytecode.c:880)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624B3A: Ffuncall (eval.c:2742)
==6186==    by 0x66F310: exec_byte_code (bytecode.c:880)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624EA5: apply_lambda (eval.c:2794)
==6186==    by 0x6234AA: eval_sub (eval.c:2211)
==6186==    by 0x61E3C6: Fprogn (eval.c:426)
==6186==    by 0x622F55: eval_sub (eval.c:2119)
==6186==
==6186== Conditional jump or move depends on uninitialised value(s)
==6186==    at 0x6711D8: exec_byte_code (bytecode.c:1370)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624B3A: Ffuncall (eval.c:2742)
==6186==    by 0x66F310: exec_byte_code (bytecode.c:880)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624B3A: Ffuncall (eval.c:2742)
==6186==    by 0x66F310: exec_byte_code (bytecode.c:880)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624EA5: apply_lambda (eval.c:2794)
==6186==    by 0x6234AA: eval_sub (eval.c:2211)
==6186==    by 0x61E3C6: Fprogn (eval.c:426)
==6186==    by 0x622F55: eval_sub (eval.c:2119)
==6186==
==6186== Conditional jump or move depends on uninitialised value(s)
==6186==    at 0x6712C1: exec_byte_code (bytecode.c:1379)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624B3A: Ffuncall (eval.c:2742)
==6186==    by 0x66F310: exec_byte_code (bytecode.c:880)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624B3A: Ffuncall (eval.c:2742)
==6186==    by 0x66F310: exec_byte_code (bytecode.c:880)
==6186==    by 0x625203: funcall_lambda (eval.c:2855)
==6186==    by 0x624EA5: apply_lambda (eval.c:2794)
==6186==    by 0x6234AA: eval_sub (eval.c:2211)
==6186==    by 0x61E3C6: Fprogn (eval.c:426)
==6186==    by 0x622F55: eval_sub (eval.c:2119)
==6186==
point is: 10
==6186==
==6186== HEAP SUMMARY:
[...]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]