[erlang-patches] fix valgrind error in erts/emulator/drivers/unix/ttsl_drv.c

Lukas Larsson <>
Mon Apr 22 17:46:59 CEST 2013


Hello,

I added a commit with the other memcopy to your patch. It is now running 
in the nightly tests.

Lukas

On 22/04/13 13:15, Steve Vinoski wrote:
> Hi Lukas and Sverker,
>
> No, I wasn't hitting ctrl-H. I was just running some eunit tests (with 
> [verbose]) in a shell and when the tests finished and the shell went 
> to print the next prompt, valgrind reported this error.
>
> One of my Basho colleagues, though, says he has seen errors that seem 
> related to this when hitting ctrl-D after a sequence of cursor 
> movements on the shell command line, but I was never able to reproduce 
> that. Perhaps he was hitting the problem Sverker refers to.
>
> If you want me to change the patch to fix the other memcpy, just let 
> me know.
>
> --steve
>
>
>
> On Mon, Apr 22, 2013 at 4:53 AM, Sverker Eriksson 
> < <mailto:>> 
> wrote:
>
>     The other call to memcpy in the same function del_chars() seems to
>     have the same problem.
>     Probably possible to trigger with ctrl-D.
>
>     /Sverker
>
>     Lukas Larsson wrote:
>
>         Hello Steve!
>
>         Thanks for the patch.
>
>         I had to use ctrl-H in the middle of a term in the terminal to
>         trigger the report, was this the case for you as well?
>
>         Lukas
>
>         On 22/04/13 02:23, Steve Vinoski wrote:
>
>             On Linux I noticed the following complaint while doing
>             some valgrind testing:
>
>             ==18040== Thread 6:
>             ==18040== Source and destination overlap in
>             memcpy(0xf3f3f04, 0xf3f3f08, 52)
>             ==18040==    at 0x4C2CFA0: memcpy@@GLIBC_2.14 (in
>             /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
>             ==18040==    by 0x5CF527: del_chars (ttsl_drv.c:845)
>             ==18040==    by 0x5CED5E: ttysl_from_erlang (ttsl_drv.c:658)
>             ==18040==    by 0x4982E3: erts_write_to_port (io.c:1235)
>             ==18040==    by 0x49A2BD: erts_port_command (io.c:2223)
>             ==18040==    by 0x48C054: do_send (bif.c:1962)
>             ==18040==    by 0x48CB6E: erl_send (bif.c:2162)
>             ==18040==    by 0x566599: process_main (beam_emu.c:1665)
>             ==18040==    by 0x4B1A95: sched_thread_func
>             (erl_process.c:4834)
>             ==18040==    by 0x6075E2: thr_wrapper (ethread.c:106)
>             ==18040==    by 0x5560E99: start_thread (pthread_create.c:308)
>
>             This patch fixes the problem.
>
>             git fetch git://github.com/vinoski/otp.git
>             <http://github.com/vinoski/otp.git>
>             <http://github.com/vinoski/otp.git> sv-ttsl-valgrind
>
>
>             https://github.com/vinoski/otp/compare/erlang:maint...sv-ttsl-valgrind
>             https://github.com/vinoski/otp/compare/erlang:maint...sv-ttsl-valgrind.patch
>
>
>             --steve
>
>
>             _______________________________________________
>             erlang-patches mailing list
>              <mailto:>
>             http://erlang.org/mailman/listinfo/erlang-patches
>
>
>
>         ------------------------------------------------------------------------
>
>
>
>         _______________________________________________
>         erlang-patches mailing list
>          <mailto:>
>         http://erlang.org/mailman/listinfo/erlang-patches
>
>
>     _______________________________________________
>     erlang-patches mailing list
>      <mailto:>
>     http://erlang.org/mailman/listinfo/erlang-patches
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20130422/53a15b16/attachment.html>


More information about the erlang-patches mailing list