Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-08 Thread Egmont Koblinger
Hi,

FYI: upstream issue https://gitlab.gnome.org/GNOME/vte/-/issues/2577 is
related, but did not fix this very problem.

The current problem is tracked upstream at
https://gitlab.gnome.org/GNOME/vte/-/issues/2636.

e.


Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Luca Boccassi
On Mon, 3 Jul 2023 at 22:04, Simon McVittie  wrote:
>
> On Mon, 03 Jul 2023 at 16:12:11 +0100, Luca Boccassi wrote:
> > On Mon, 3 Jul 2023 at 16:08, Simon McVittie  wrote:
> > > I normally use gnome-console (kgx) myself, and I wasn't able to reproduce
> > > this in some brief testing with gnome-terminal; I also didn't see
> > > this when testing the 0.70.6-1~deb12u1 update on a bookworm system.
> > > Are there any special steps to trigger this assertion failure?
> >
> > Bookworm with p-u. I cannot reproduce reliably, it happens randomly
> > when using the mouse scroll wheel inside gnome-terminal. Do you need
> > the core file?
>
> A backtrace to the bug would be ideal; a full core dump file probably
> gives us a limited amount of extra info compared with a backtrace,
> and is more likely to contain something confidential. If you can find
> a way to repro the issue somewhat reliably then it would also be useful
> to know whether it's the same backtrace every time.
>
> If you can try rolling back to bookworm without p-u for this package and
> try to reproduce it, that would also be very useful: if we need to revert
> a change before 12.1, then there is going to be quite a tight deadline
> for that.

Here's the full backtrace, if I manage to repro with the non-p-u
version I'll reply back:

#0  __pthread_kill_implementation (threadid=,
signo=signo@entry=6, no_tid=no_tid@entry=0)
at ./nptl/pthread_kill.c:44
tid = 
ret = 0
pd = 
old_mask = {__val = {140075865543808}}
ret = 
#1  0x7f65f32a9d2f in __pthread_kill_internal (signo=6,
threadid=) at ./nptl/pthread_kill.c:78
#2  0x7f65f325aef2 in __GI_raise (sig=sig@entry=6) at
../sysdeps/posix/raise.c:26
ret = 
#3  0x7f65f3245472 in __GI_abort () at ./stdlib/abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction
= 0x20}, sa_mask = {__val = {93865595894560, 140734737393720,
140075864777479, 93862215286832, 140733193388032, 93865597004128, 0,
206158430248, 9061015767978157056, 140075865037995,
18446744073709551360, 11, 140075865546368, 140075853536075,
140734737393824, 0}}, sa_flags = -215253713, sa_restorer =
0x7f65f37d84d0}
#4  0x7f65f4238ec8 in g_assertion_message
(domain=domain@entry=0x7f65f37d84d0 "VTE",
file=file@entry=0x7f65f37ddb4b "../src/ringview.cc",
line=line@entry=299, func=func@entry=0x7f65f37ddc50 "const
vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t)
const", message=message@entry=0x555ec9412d40 "assertion failed (row <
m_start + m_len): (23079 < 23079)")
at ../../../glib/gtestutils.c:3256
lstr = 
"299\000\000\000\000\000\001\000\000\000\000\000\000\000@\250\a\\\377\177\000\000\000\000\000\000e\177\000"
s = 0x555ec990e960 "\216\213\273\234[U"
#5  0x7f65f42991a1 in g_assertion_message_cmpnum
(domain=0x7f65f37d84d0 "VTE", file=0x7f65f37ddb4b
"../src/ringview.cc", line=299, func=0x7f65f37ddc50 "const
vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t)
const", expr=, arg1=23079, cmp=,
arg2=23079, numtype=105 'i') at ../../../glib/gtestutils.c:3315
s = 0x555ec9412d40 "assertion failed (row < m_start + m_len):
(23079 < 23079)"
#6  0x7f65f3799615 in vte::base::RingView::get_bidirow(long) const
(this=this@entry=0x555ec811f928, row=23079)
at ../src/ringview.cc:299
__n1 = 23079
__n2 = 
__PRETTY_FUNCTION__ = "const vte::base::BidiRow*
vte::base::RingView::get_bidirow(vte::grid::row_t) const"
#7  0x7f65f379da59 in
vte::terminal::Terminal::grid_coords_from_view_coords(vte::view::coords
const&) const
(this=this@entry=0x555ec811c520, pos=...) at ../src/vte.cc:1607
col = 52
row = 23079
bidirow = 
#8  0x7f65f379dfe8 in
vte::terminal::Terminal::grid_coords_from_event(vte::platform::MouseEvent
const&) const
(event=, this=0x555ec811c520) at ../src/vte.cc:1563
rowcol = {> = {first = ,
second = }, }
#9  vte::terminal::Terminal::rowcol_from_event(vte::platform::MouseEvent
const&, long*, long*)
(this=this@entry=0x555ec811c520, event=,
column=column@entry=0x7fff5c07aa78, row=row@entry=0x7fff5c07aa80) at
../src/vte.cc:1785
rowcol = {> = {first = ,
second = }, }
#10 0x7f65f37a86c3 in
vte::terminal::Terminal::hyperlink_check(vte::platform::MouseEvent
const&)
(this=this@entry=0x555ec811c520, event=...) at ../src/vte.cc:1837
col = 140075459440672
row = 93865571894560
#11 0x7f65f37b88c1 in vte::platform::Widget::hyperlink_check(_GdkEvent*)
(event=0x7f65dc007020, this=) at ../src/widget.hh:475
__PRETTY_FUNCTION__ = "char*
vte_terminal_hyperlink_check_event(VteTerminal*, GdkEvent*)"
#12 vte_terminal_hyperlink_check_event(VteTerminal*, GdkEvent*)
(terminal=, event=0x7f65dc007020)
at ../src/vtegtk.cc:2957
__PRETTY_FUNCTION__ = "char*
vte_terminal_hyperlink_check_event(VteTerminal*, GdkEvent*)"
#13 0x555ec61d12a5 in  ()
#18 0x7f65f4382dbf in 

Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Simon McVittie
On Mon, 03 Jul 2023 at 16:12:11 +0100, Luca Boccassi wrote:
> On Mon, 3 Jul 2023 at 16:08, Simon McVittie  wrote:
> > I normally use gnome-console (kgx) myself, and I wasn't able to reproduce
> > this in some brief testing with gnome-terminal; I also didn't see
> > this when testing the 0.70.6-1~deb12u1 update on a bookworm system.
> > Are there any special steps to trigger this assertion failure?
> 
> Bookworm with p-u. I cannot reproduce reliably, it happens randomly
> when using the mouse scroll wheel inside gnome-terminal. Do you need
> the core file?

A backtrace to the bug would be ideal; a full core dump file probably
gives us a limited amount of extra info compared with a backtrace,
and is more likely to contain something confidential. If you can find
a way to repro the issue somewhat reliably then it would also be useful
to know whether it's the same backtrace every time.

If you can try rolling back to bookworm without p-u for this package and
try to reproduce it, that would also be very useful: if we need to revert
a change before 12.1, then there is going to be quite a tight deadline
for that.

I'm likely to have limited availability for the next couple of weeks so
I'd appreciate it if others from the GNOME team can help with this.
(Jeremy?)

smcv



Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Luca Boccassi
On Mon, 3 Jul 2023 at 16:08, Simon McVittie  wrote:
>
> Control: reassign -1 libvte-2.91-0
> Control: affects -1 + gnome-terminal src:gnome-terminal
> Control: retitle -1 gnome-terminal: crash with assertion failure on 
> mouseover: row < m_start + m_len
>
> On Sat, 01 Jul 2023 at 19:51:16 +0100, Luca Boccassi wrote:
> > gnome-terminal-server asserts on mouseover, losing all open terminals
> >
> > gnome-terminal-server[2464750]: VTE:ERROR:../src/ringview.cc:299:const 
> > vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t) 
> > const: assertion failed (row < m_start + m_len): (15728 < 15725)
>
> A VTE:ERROR is an assertion failure in libvte2.91-0 rather than
> gnome-terminal itself.
>
> Which of these versions have you tested, and which one(s) are affected?
>
> - 0.70.3-1 in bookworm
> - 0.70.6-1~deb12u1 in bookworm-proposed-updates
> - 0.70.6-1 in testing/unstable
> - 0.72.2-1 in experimental
>
> It's helpful if you use reportbug to report bugs so that information on
> dependency versions is present.
>
> I normally use gnome-console (kgx) myself, and I wasn't able to reproduce
> this in some brief testing with gnome-terminal; I also didn't see
> this when testing the 0.70.6-1~deb12u1 update on a bookworm system.
> Are there any special steps to trigger this assertion failure?

Bookworm with p-u. I cannot reproduce reliably, it happens randomly
when using the mouse scroll wheel inside gnome-terminal. Do you need
the core file?



Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Simon McVittie
Control: reassign -1 libvte-2.91-0
Control: affects -1 + gnome-terminal src:gnome-terminal
Control: retitle -1 gnome-terminal: crash with assertion failure on mouseover: 
row < m_start + m_len

On Sat, 01 Jul 2023 at 19:51:16 +0100, Luca Boccassi wrote:
> gnome-terminal-server asserts on mouseover, losing all open terminals
> 
> gnome-terminal-server[2464750]: VTE:ERROR:../src/ringview.cc:299:const 
> vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t) const: 
> assertion failed (row < m_start + m_len): (15728 < 15725)

A VTE:ERROR is an assertion failure in libvte2.91-0 rather than
gnome-terminal itself.

Which of these versions have you tested, and which one(s) are affected?

- 0.70.3-1 in bookworm
- 0.70.6-1~deb12u1 in bookworm-proposed-updates
- 0.70.6-1 in testing/unstable
- 0.72.2-1 in experimental

It's helpful if you use reportbug to report bugs so that information on
dependency versions is present.

I normally use gnome-console (kgx) myself, and I wasn't able to reproduce
this in some brief testing with gnome-terminal; I also didn't see
this when testing the 0.70.6-1~deb12u1 update on a bookworm system.
Are there any special steps to trigger this assertion failure?

smcv



Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Luca Boccassi
On Mon, 3 Jul 2023 at 13:21, Jeremy Bícha  wrote:
>
> On Sat, Jul 1, 2023 at 2:54 PM Luca Boccassi  wrote:
> > Package: gnome-terminal
> > Version: 3.46.8-1
> > Severity: important
> > Tags: patch bookworm
> > Forwarded: https://gitlab.gnome.org/GNOME/vte/-/issues/2577
> >
> > Dear Maintainer(s),
> >
> > gnome-terminal-server asserts on mouseover, losing all open terminals:
> >
> > gnome-terminal-server[2464750]: VTE:ERROR:../src/ringview.cc:299:const 
> > vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t) 
> > const: assertion failed (row < m_start + m_len): (15728 < 15725)
> > gnome-terminal-server[2464750]: Bail out! 
> > VTE:ERROR:../src/ringview.cc:299:const vte::base::BidiRow* 
> > vte::base::RingView::get_bidirow(vte::grid::row_t) const: assertion failed 
> > (row < m_start + m_len): (15728 < 15725)
> >
> > This is upstream issue:
> >
> > https://gitlab.gnome.org/GNOME/vte/-/issues/2577
> >
> > Which was fixed by:
> >
> > https://gitlab.gnome.org/GNOME/vte/-/commit/dcfc0ec44df3084987a6faa0fdc03e6de717c682
> >
> > Please backport the fix to bookworm via proposed-updates, given it's a
> > hard crash.
>
> But Debian 12 already has vte2.91 0.70.6 which includes the fix from
> February you identified.
> https://gitlab.gnome.org/GNOME/vte/-/commits/0.70.6

Different assertion then? It looked the same, but maybe it's not. This
is what I have running:

$ dpkg -l | grep libvte
ii  libvte-2.91-0:amd64 0.70.6-1~deb12u1
amd64Terminal emulator widget for GTK+ 3.0 -
runtime files
ii  libvte-2.91-common  0.70.6-1~deb12u1
amd64Terminal emulator widget for GTK+ 3.0 -
common files



Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Jeremy Bícha
On Sat, Jul 1, 2023 at 2:54 PM Luca Boccassi  wrote:
> Package: gnome-terminal
> Version: 3.46.8-1
> Severity: important
> Tags: patch bookworm
> Forwarded: https://gitlab.gnome.org/GNOME/vte/-/issues/2577
>
> Dear Maintainer(s),
>
> gnome-terminal-server asserts on mouseover, losing all open terminals:
>
> gnome-terminal-server[2464750]: VTE:ERROR:../src/ringview.cc:299:const 
> vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t) const: 
> assertion failed (row < m_start + m_len): (15728 < 15725)
> gnome-terminal-server[2464750]: Bail out! 
> VTE:ERROR:../src/ringview.cc:299:const vte::base::BidiRow* 
> vte::base::RingView::get_bidirow(vte::grid::row_t) const: assertion failed 
> (row < m_start + m_len): (15728 < 15725)
>
> This is upstream issue:
>
> https://gitlab.gnome.org/GNOME/vte/-/issues/2577
>
> Which was fixed by:
>
> https://gitlab.gnome.org/GNOME/vte/-/commit/dcfc0ec44df3084987a6faa0fdc03e6de717c682
>
> Please backport the fix to bookworm via proposed-updates, given it's a
> hard crash.

But Debian 12 already has vte2.91 0.70.6 which includes the fix from
February you identified.
https://gitlab.gnome.org/GNOME/vte/-/commits/0.70.6

Thank you,
Jeremy Bícha



Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-03 Thread Luca Boccassi
Control: severity -1 grave

On Sat, 01 Jul 2023 19:51:16 +0100 Luca Boccassi 
wrote:
> Package: gnome-terminal
> Version: 3.46.8-1
> Severity: important
> Tags: patch bookworm
> Forwarded: https://gitlab.gnome.org/GNOME/vte/-/issues/2577
> 
> Dear Maintainer(s),
> 
> gnome-terminal-server asserts on mouseover, losing all open
terminals:
> 
> gnome-terminal-server[2464750]:
VTE:ERROR:../src/ringview.cc:299:const vte::base::BidiRow*
vte::base::RingView::get_bidirow(vte::grid::row_t) const: assertion
failed (row < m_start + m_len): (15728 < 15725)
> gnome-terminal-server[2464750]: Bail out!
VTE:ERROR:../src/ringview.cc:299:const vte::base::BidiRow*
vte::base::RingView::get_bidirow(vte::grid::row_t) const: assertion
failed (row < m_start + m_len): (15728 < 15725)
> 
> This is upstream issue:
> 
> https://gitlab.gnome.org/GNOME/vte/-/issues/2577
> 
> Which was fixed by:
> 
>
https://gitlab.gnome.org/GNOME/vte/-/commit/dcfc0ec44df3084987a6faa0fdc03e6de717c682
> 
> Please backport the fix to bookworm via proposed-updates, given it's
a
> hard crash.

These crashes are getting really annoying. One in five mousewheel
button pastes are crashing all terminals on Bookworm.

-- 
Kind regards,
Luca Boccassi


signature.asc
Description: This is a digitally signed message part


Bug#1040049: gnome-terminal: assert hit on mouseover, all open terminal windows are lost

2023-07-01 Thread Luca Boccassi
Package: gnome-terminal
Version: 3.46.8-1
Severity: important
Tags: patch bookworm
Forwarded: https://gitlab.gnome.org/GNOME/vte/-/issues/2577

Dear Maintainer(s),

gnome-terminal-server asserts on mouseover, losing all open terminals:

gnome-terminal-server[2464750]: VTE:ERROR:../src/ringview.cc:299:const 
vte::base::BidiRow* vte::base::RingView::get_bidirow(vte::grid::row_t) const: 
assertion failed (row < m_start + m_len): (15728 < 15725)
gnome-terminal-server[2464750]: Bail out! 
VTE:ERROR:../src/ringview.cc:299:const vte::base::BidiRow* 
vte::base::RingView::get_bidirow(vte::grid::row_t) const: assertion failed (row 
< m_start + m_len): (15728 < 15725)

This is upstream issue:

https://gitlab.gnome.org/GNOME/vte/-/issues/2577

Which was fixed by:

https://gitlab.gnome.org/GNOME/vte/-/commit/dcfc0ec44df3084987a6faa0fdc03e6de717c682

Please backport the fix to bookworm via proposed-updates, given it's a
hard crash.

-- 
Kind regards,
Luca Boccassi


signature.asc
Description: This is a digitally signed message part