-
-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
copy big amount of mate-terminal content causes immediate segmentation fault #422
Comments
Could you please provide a backtrace with e.g. gdb? You can run a new instance under gdb like so for example: I myself do not see a crash copying 562080 lines of output. I see a temporary memory and CPU spike, but no crash -- but possibly your system has less memory and some allocation fails somewhere -- a backtrace would help. Also note that for some reason here if I choose "Select all" it only selects the visible area, not the whole output. I had to manually go to the start, start the selection and shift-select to the end. |
The "select all" only selecting visible content came from a change in libvte. I use a custom compiled libvte with that
commit reverted to make make select all work
|
As I recall, the original reason "select all" was reconfigured to only select viewable text in libvte was specifically that it is
possible with unlimited scrollback to overrun the buffer and cause a segfault. I didn't like that solution so I reverted it
in local builds, I did not realize that a workaround existed to copy scrolled back text by other means or I would have
used it
|
I've ran it as you've requested, the output is: Does it help, or do I have to install all those debuginfo packages? I don't think memory should be an issue, considering it is a virtual machine with 12 GB of RAM reserved, and 16 GB top. System monitor reports less than 38% used by programs and less than 40% as cache. So, at least 20% unused all the time during crash. I haven't done anything like you mention, and still have "select all" available both in menu and in right click (actually selecting everything back to when terminal has been opened...). I've just more or less rebuilt Fedora (before) and/or EPEL 9 (recently) packages in the past (as said, noticing that since at least a couple of years ago...), with the following:
I also haven't modified RHEL vte291 package (which I believe provides 'libvte'), just installed Rocky Linux provided one. There is a patch 'vte291-cntnr-precmd-preexec-scroll.patch' contained within vte291-0.64.2-2.el9.src.rpm, so this may be it? But, in any case, it is a stock RHEL 9.1 package... |
After installing glibc-debuginfo (and glibc-debugsource), I've got the following:
|
backtrace:
|
|
BTW, redirecting a process ('rpmbuild -ba qt.spec') output to a log file shows that we are talking about a 441.9 MB text file (6.656.751 lines, according to 'wc -l'). |
I don't think I've ever had anything but a kernel build produce THAT much text.
BTW, if the segfault is in libvte (around which mate-terminal is but a wrapper, we have no control over it here
|
Backtrace does in fact mention libvte, which does all the heavy lifting and is not maintained by us.
|
Expected behaviour
mate-terminal not crashing
Actual behaviour
segfault of mate-terminal, all instances (3 windows in my recent case) closed immediately
Logged in messages:
kernel: mate-terminal[3367]: segfault at 7f8d5bffa010 ip 00007f8e18d3fc41 sp 00007ffcfcb65f48 error 6 in libc.so.6 (deleted)[7f8e18c86000+176000]
Steps to reproduce the behaviour
Select unlimited scroll back in profile preferences. Launch something that produces really a lot of output lines (some builds for example - like qt-4 rebuild) in mate-terminal. Choose select all after, and right-click "copy" (or, choose that option in menu).
MATE general version
1.26.0 / 1.27.0 (noticed that also before, at least since 1.22 on...).
Package version
Custom build, but more or less the same as 'mate-terminal-1.26.0-2.el9'
Linux Distribution
Rocky Linux 9.1 (happened also in CentOS 8 and Rocky Linux 8.6 before)
Link to bugreport of your Distribution (requirement)
Custom build, can't report. I'm confident it happens also with EPEL RHEL-9 build.
The text was updated successfully, but these errors were encountered: