Column select mode, blank line, unstable, crash.
MvGulik opened this issue · 5 comments
MvGulik commented
- Open new file.
- Add single line with only spaces. (64 spaces should do)
- Initiate column select (CTRL+Mouse-Select) on that lines (at or near beginning of line).
- Extend selection with mouse towards the end of the line.
- Tends to crash at some point.
- On multiple blank lines. Extending the selection over more than one line first, seems to bypass this issue. (as long as multiple lines are kept selected)
Terminal output at crash:
free(): invalid pointer
Aborted (core dumped)
Process 4618 (python) of user 1000 dumped core.
Stack trace of thread 4618:
#0 0x00007efe52c75e97 __GI_raise (libc.so.6)
#1 0x00007efe52c77801 __GI_abort (libc.so.6)
#2 0x00007efe52cc0897 __libc_message (libc.so.6)
#3 0x00007efe52cc790a malloc_printerr (libc.so.6)
#4 0x00007efe52ccef60 _int_free (libc.so.6)
#5 0x00007efe5091eb4c n/a (/home/<user>/test_venv/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5)
#6 0x00000000028fe450 n/a (n/a)
#7 0x00007efe502a5148 n/a (/home/<user>/test_venv/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5)
Using: Ex.Co 6.13
(other local version's info below)
Some Issue background:
Issue initially encountered with eric6 (also reporting it here on the off change it might potentially expedite a potential fix)
- https://tracker.die-offenbachs.homelinux.org/eric/issue306 (fixed link)
- https://www.riverbankcomputing.com/pipermail/qscintilla/2019-November/001431.html
Process 3684 (eric6) of user 1000 dumped core.
Stack trace of thread 3684:
#0 0x00007f5764b46e97 __GI_raise (libc.so.6)
#1 0x00007f5764b48801 __GI_abort (libc.so.6)
#2 0x00007f5764b91897 __libc_message (libc.so.6)
#3 0x00007f5764b9890a malloc_printerr (libc.so.6)
#4 0x00007f5764b98b0c malloc_consolidate (libc.so.6)
#5 0x00007f5764b9c7d8 _int_malloc (libc.so.6)
#6 0x00007f5764b9f2ed __GI___libc_malloc (libc.so.6)
#7 0x00007f57626dc298 _Znwm (libstdc++.so.6)
#8 0x00007f57565b9b8a n/a (/home/<user>/test_venv/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5)
Additional version Numbers (pulled from eric6 version info window)
Python: 3.6.9, 64-Bit
Qt: 5.14.2
PyQt: 5.14.2
PyQtWebEngine: 5.14.0
QScintilla: 2.11.4 <= seems to be the main source for this issue.
sip: 5.1.2
WebEngine: 77.0.3865.129
eric6: 20.4 (rev. daa7d050b3af)
(Linux Mint 19.3 cinnamon)
... Mmm. Think I might have found myself a new potential alternative code editor ...
MvGulik commented
Other affected case(s) found:
Not affected / unable to reproduce.
matkuki commented
Windows:
- Cannot reproduce the issue
Raspbian (arm) with PyQt 5.7 and QScintilla 2.9.3:
- Issue is reproducible, throws:
*** Error in `/usr/bin/python3': free(): invalid next size (fast): 0x0143d490 ***
Aborted
matkuki commented
Found the problem:
- Calling QScintilla's
selectedText
function inside theselectionChanged
signal callback causes the problem. - The problem only appears when holding down
CTRL
while dragging the mouse,ALT
works without problems.print
statements show that theselectedText
function returns an invalid result with anewline
character in it. try/except
cannot catch this, as the problem seems to be in the underlying C++ code.
MvGulik commented
Thanks. :-) 👍
Sending link to eric6 dev.