28 March 2011

[Issue] evilvte-0.4.8 makes zsh segfault?

L29Ah said...
> evilvte-0.4.8 makes zsh segfault with this:
> #0 0x00007f353a7c209a in __strchr_sse2 () from /lib/libc.so.6
> #1 0x000000000044913e in init_jobs (argv=0x7fff5ba9dd18, envp=0x7fff5ba9dd20) at jobs.c:1697
> #2 0x000000000044410f in zsh_main (argc=0, argv=0x7fff5ba9dd18) at init.c:1441
> #3 0x000000000040fea4 in main (argc=0, argv=0x7fff5ba9dd18) at ./main.c:93
> If i run `evilvte -e zsh` it works flawlessly. Also, 0.4.6 didn't have such a problem.

I can not reproduce the bug. :-(

I tested evilvte 0.4.8 and zsh 4.3.11 with various settings.
Everything works as expected.

I suggest you to try these methods:
1. export CFLAGS="-DVTE_FORK_CMD_OLD=1" and rebuild evilvte
1. This will make evilvte to use vte_terminal_fork_command()
1. instead of vte_terminal_fork_command_full()
2. run evilvte with "SHELL" environment variable
2. ~$ SHELL=zsh evilvte &
3. run evilvte with or without "-ls" (login shell)
3. ~$ evilvte -ls &
4. upgrade your libvte

I know roxterm (<= 1.20.6) encountered similar problem.
However since I can not reproduce the bug in evilvte, I have no idea how to apply the diff from roxterm 1.20.7.

Further comments are very welcome.

4 comments:

  1. 3 didn't help
    1 resolved the issue
    vte-0.26.2
    Should i check the rest?

    ReplyDelete
  2. To L29Ah:
    If "-DVTE_FORK_CMD_OLD=1" works, I think it is a bug of libvte.
    I am using libvte 0.27.90.
    Both GTK+ 2.x and 3.x builds work happily with zsh. :-)

    ReplyDelete
  3. Hey, same bug for me in Ubuntu for ages (months), finally i found this post. Solution 1 solved the problem for me too !

    ReplyDelete
  4. To Serge:
    Thank you! I will make the option be default in next release. See:
    http://evilvte.blogspot.com/2011/06/workaround-evilvte-048-makes-zsh.html

    ReplyDelete