Hello, Recently I couldn't figure out why lxterminal was segfaulting immediately upon opening. I still haven't found the root cause, but it looks like it has something to do with gtk3. After compiling using the gtk3 USE flag, I get the following strace output when launching /usr/bin/lxterminal: *** ... recvmsg(3, 0x7ffcf0be7560, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) read(4, "\1\0\0\0\0\0\0\0", 16) = 8 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout) read(4, 0x7ffcf0be79b0, 16) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout) recvmsg(3, 0x7ffcf0be76d0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7ffcf0be7800, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"5 \4\0#\0 \2\"\0 \2\202\2j\1\212\4\6\0$\0 \2#\0 \2@\2\0\0"..., 388}, {NULL, 0}, {"", 0}], 3) = 388 recvmsg(3, 0x7ffcf0be77c0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"+ \1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\1\2<\1\0\0\0\0\4\0 \2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7ffcf0be7770, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7ffcf0be7770, 0) = -1 EAGAIN (Resource temporarily unavailable) ioctl(12, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=0, ws_ypixel=0}) = 0 ioctl(12, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=0, ws_ypixel=0}) = 0 write(2, "\n(lxterminal:22059): Gtk-CRITICA"..., 90 (lxterminal:22059): Gtk-CRITICAL **: gtk_border_copy: assertion 'border_ != NULL' failed ) = 90 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x2} --- +++ killed by SIGSEGV +++ *** If the entire strace is needed, I can attach it. However, when I compile WITHOUT the gtk3 USE flag, it launches without problem. Cheers, Nathan Zachary
Can you try compile it with gtk+-3.18.9 ? I had similar segfaults after updating to gtk+-3.20.6. Downgrading gtk3 solved problem for me.
https://github.com/lxde/lxterminal/blob/master/configure.ac#L59 Perhaps vte:2.91 is required for 3.20? Also, apparently, upstream hasn't made a release in 2 years. Might be worth making a snapshot.
That could definitely be true about the version of VTE. I've noticed that when you remove the gtk3 USE flag, it slots a different version of VTE.
I think this was already fixed with 0.2.1 - current version is 0.3.1 which works nicely with gtk3. Current version in tree is still 0.2.0-r1. Why not just upgrade?
(In reply to Bernd Feige from comment #4) > I think this was already fixed with 0.2.1 - current version is 0.3.1 which > works nicely with gtk3. Current version in tree is still 0.2.0-r1. Why not > just upgrade? As the current in-tree version is 0.3.1, I believe this can be closed.
This looks obsolete.