Skip to content
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

[textinput] segmentation violation on Undo shortcut #10180

Closed
ferdymercury opened this issue Mar 21, 2022 · 0 comments · Fixed by #10181
Closed

[textinput] segmentation violation on Undo shortcut #10180

ferdymercury opened this issue Mar 21, 2022 · 0 comments · Fixed by #10181

Comments

@ferdymercury
Copy link
Contributor

Describe the bug

root -l
root [0] 
 *** Break *** segmentation violation



===========================================================
There was a crash (kSigSegmentationViolation).
This is the entire stack trace of all threads:
===========================================================
#0  0x00007f0659a6f337 in __GI___waitpid (pid=9428, stat_loc=stat_loc
entry=0x7ffe370ff9b8, options=options
entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x00007f06599da047 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:149
#2  0x00007f065a771a08 in TUnixSystem::Exec (this=0x55b1312be7c0, shellcmd=0x55b13202b340 "/opt/root_bld/etc/gdb-backtrace.sh 9396 1>&2") at /opt/root_src/core/unix/src/TUnixSystem.cxx:2108
#3  0x00007f065a7722b9 in TUnixSystem::StackTrace (this=0x55b1312be7c0) at /opt/root_src/core/unix/src/TUnixSystem.cxx:2399
#4  0x00007f065a775f5a in TUnixSystem::DispatchSignals (this=0x55b1312be7c0, sig=kSigSegmentationViolation) at /opt/root_src/core/unix/src/TUnixSystem.cxx:3619
#5  0x00007f065a76d70e in SigHandler (sig=kSigSegmentationViolation) at /opt/root_src/core/unix/src/TUnixSystem.cxx:395
#6  0x00007f065a775e67 in sighandler (sig=11) at /opt/root_src/core/unix/src/TUnixSystem.cxx:3590
#7  0x00007f065a76642a in textinput::TerminalConfigUnix::HandleSignal (this=0x7f065ac559a0 <textinput::TerminalConfigUnix::Get()::s>, signum=11) at /opt/root_src/core/textinput/src/textinput/TerminalConfigUnix.cpp:99
#8  0x00007f065a766146 in (anonymous namespace)::TerminalConfigUnix__handleSignal (signum=11) at /opt/root_src/core/textinput/src/textinput/TerminalConfigUnix.cpp:36
#9  <signal handler called>
#10 0x00007f065a0b8a4e in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007f065a0b8e19 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007f065a75e3b1 in textinput::Text::operator= (this=0x55b13203e698) at /opt/root_src/core/textinput/src/textinput/Text.h:29
#13 0x00007f065a75d374 in textinput::Editor::ProcessCommand (this=0x55b131ae5c50, M=textinput::Editor::kCmdUndo, R=...) at /opt/root_src/core/textinput/src/textinput/Editor.cpp:386
#14 0x00007f065a75babe in textinput::Editor::Process (this=0x55b131ae5c50, cmd=..., R=...) at /opt/root_src/core/textinput/src/textinput/Editor.cpp:65
#15 0x00007f065a76bc3b in textinput::TextInput::ProcessNewInput (this=0x7f065ac55820 <(anonymous namespace)::TextInputHolder::getHolder()::sTIHolder>, in=..., R=...) at /opt/root_src/core/textinput/src/textinput/TextInput.cpp:174
#16 0x00007f065a76b8b5 in textinput::TextInput::ReadInput (this=0x7f065ac55820 <(anonymous namespace)::TextInputHolder::getHolder()::sTIHolder>) at /opt/root_src/core/textinput/src/textinput/TextInput.cpp:126
#17 0x00007f065a75a2d9 in Getlinem (mode=kOneChar, prompt=0x0) at /opt/root_src/core/textinput/src/Getline.cxx:256
#18 0x00007f065ac8f645 in TRint::HandleTermInput (this=0x55b131317310) at /opt/root_src/core/rint/src/TRint.cxx:588
#19 0x00007f065ac8d1a1 in TTermInputHandler::Notify (this=0x55b13203f9e0) at /opt/root_src/core/rint/src/TRint.cxx:132
#20 0x00007f065ac91a07 in TTermInputHandler::ReadNotify (this=0x55b13203f9e0) at /opt/root_src/core/rint/src/TRint.cxx:124
#21 0x00007f065a76fcb5 in TUnixSystem::CheckDescriptors (this=0x55b1312be7c0) at /opt/root_src/core/unix/src/TUnixSystem.cxx:1310
#22 0x00007f065a76ef2b in TUnixSystem::DispatchOneEvent (this=0x55b1312be7c0, pendingOnly=false) at /opt/root_src/core/unix/src/TUnixSystem.cxx:1065
#23 0x00007f065a654eb5 in TSystem::InnerLoop (this=0x55b1312be7c0) at /opt/root_src/core/base/src/TSystem.cxx:406
#24 0x00007f065a654c4a in TSystem::Run (this=0x55b1312be7c0) at /opt/root_src/core/base/src/TSystem.cxx:356
#25 0x00007f065a5dce87 in TApplication::Run (this=0x55b131317310, retrn=false) at /opt/root_src/core/base/src/TApplication.cxx:1607
#26 0x00007f065ac8ec5d in TRint::Run (this=0x55b131317310, retrn=false) at /opt/root_src/core/rint/src/TRint.cxx:473
#27 0x000055b1304a30fe in main (argc=1, argv=0x7ffe37104bf8) at /opt/root_src/main/src/rmain.cxx:83
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum https://root.cern/forum
Only if you are really convinced it is a bug in ROOT then please submit a
report at https://root.cern/bugs Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#10 0x00007f065a0b8a4e in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007f065a0b8e19 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007f065a75e3b1 in textinput::Text::operator= (this=0x55b13203e698) at /opt/root_src/core/textinput/src/textinput/Text.h:29
#13 0x00007f065a75d374 in textinput::Editor::ProcessCommand (this=0x55b131ae5c50, M=textinput::Editor::kCmdUndo, R=...) at /opt/root_src/core/textinput/src/textinput/Editor.cpp:386
#14 0x00007f065a75babe in textinput::Editor::Process (this=0x55b131ae5c50, cmd=..., R=...) at /opt/root_src/core/textinput/src/textinput/Editor.cpp:65
#15 0x00007f065a76bc3b in textinput::TextInput::ProcessNewInput (this=0x7f065ac55820 <(anonymous namespace)::TextInputHolder::getHolder()::sTIHolder>, in=..., R=...) at /opt/root_src/core/textinput/src/textinput/TextInput.cpp:174
#16 0x00007f065a76b8b5 in textinput::TextInput::ReadInput (this=0x7f065ac55820 <(anonymous namespace)::TextInputHolder::getHolder()::sTIHolder>) at /opt/root_src/core/textinput/src/textinput/TextInput.cpp:126
#17 0x00007f065a75a2d9 in Getlinem (mode=kOneChar, prompt=0x0) at /opt/root_src/core/textinput/src/Getline.cxx:256
===========================================================


Root > 

Expected behavior

Do not crash if there is nothing to undo.

To Reproduce

Start root prompt. Press the undo shortcut. (CTRL+_).

Setup

   ------------------------------------------------------------------
  | Welcome to ROOT 6.27/01                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Jan 12 2022, 10:17:19                 |
  | From heads/master@v6-25-01-2870-gdac9b6398d                      |
  | With c++ (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0                     |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------

Additional context

#10121

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants