bugGNU Octave - Bugs: bug #41817, UI crash adding a comment line to...

 
 

bug #41817: UI crash adding a comment line to an Octave .m file.

Submitter:  None
Submitted:  Sun 09 Mar 2014 11:55:36 PM UTC
   
 
Category:  GUI Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Duplicate Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * dev
Operating System:  * GNU/Linux Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 22 Feb 2015 07:05:29 PM UTC, comment #15: 

No more information on this bug report after several months. I'm closing this as a duplicate of bug #42469 since the symptom sounds very similar (segmentation fault after GUI editor completion popup, with ibus input method enabled).

Mike Miller <mtmiller>
Group Member
Wed 09 Apr 2014 02:40:34 AM UTC, comment #14: 

I see ibus functions in your stacktrace. Are you using ibus for input? Can you test your example with ibus disabled or uninstalled to see if that makes a difference?

Mike Miller <mtmiller>
Group Member
Mon 17 Mar 2014 04:21:31 PM UTC, comment #13: 

@Allan: do you experience this in version 3.8 too or only in dev?

works for me w/ 3.8.1 (Windows 7).

Felipe G. Nievinski <fgnievinski>
Sun 16 Mar 2014 03:56:57 AM UTC, comment #12: 

Every time when you are typing a word that invokes the completion list after the first letters but then, while continuing typing, does not match any of the suggested word.  It always crashes at this point, so far as I can tell.

Allan Jacobs <allanjacobs>
Sat 15 Mar 2014 05:33:38 PM UTC, comment #11: 

Does octave crash only in this special situation or every time when you are typing a word that invokes the completion list after the first letters but then, while continuing typing, does not match any of the suggested word (making the list disappear again if there is no crash)?

Torsten Lilge <ttl>
Group Member
Fri 14 Mar 2014 04:02:42 AM UTC, comment #10: 

Is there any further information you need?

Allan Jacobs <allanjacobs>
Wed 12 Mar 2014 04:24:15 AM UTC, comment #9: 

The last post was unintelligible.  Adding an attachment...

(file #30871)

Allan Jacobs <allanjacobs>
Wed 12 Mar 2014 02:45:44 AM UTC, comment #8: 

(gdb) continue
Continuing.
[New Thread 0x7fbe49471700 (LWP 5781)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fbe644178b5 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

(gdb) bt full
#0  0x00007fbe644178b5 in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#1  0x00007fbe64edeebd in QInputContext::sendEvent(QInputMethodEvent const&) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#2  0x00007fbe64edee72 in QInputContext::sendEvent(QInputMethodEvent const&) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#3  0x00007fbe232378b1 in IBusInputContext::displayPreeditText(IBus::Pointer<IBus::Text> const&, unsigned int, bool) ()
   from /usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/libqtim-ibus.so
No symbol table info available.
#4  0x00007fbe6442ba58 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#5  0x00007fbe2301c264 in IBus::InputContext::updatePreeditText(IBus::Pointer<IBus::Text> const&, unsigned int, bool) () from /usr/lib/libibus-qt.so.1
No symbol table info available.
#6  0x00007fbe23011a70 in IBus::InputContext::slotUpdatePreeditText(QDBusVariant const&, unsigned int, bool) () from /usr/lib/libibus-qt.so.1
No symbol table info available.
#7  0x00007fbe6442ba58 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#8  0x00007fbe2301a854 in IBusInputContextProxy::UpdatePreeditText(QDBusVariant const&, unsigned int, bool) () from /usr/lib/libibus-qt.so.1
No symbol table info available.
#9  0x00007fbe2301b7d6 in ?? () from /usr/lib/libibus-qt.so.1
No symbol table info available.
#10 0x00007fbe2301c053 in IBusInputContextProxy::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libibus-qt.so.1
No symbol table info available.
#11 0x00007fbe32b76e36 in ?? () from /usr/lib/x86_64-linux-gnu/libQtDBus.so.4
No symbol table info available.
#12 0x00007fbe6442fdce in QObject::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#13 0x00007fbe64947dfc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#14 0x00007fbe6494e470 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#15 0x00007fbe644178bd in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#16 0x00007fbe6441ae1f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#17 0x00007fbe64445073 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#18 0x00007fbe5e5c53b6 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#19 0x00007fbe5e5c5708 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#20 0x00007fbe5e5c57ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#21 0x00007fbe64444a55 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#22 0x00007fbe649e99d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#23 0x00007fbe644165ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#24 0x00007fbe644168e5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>
No symbol table info available.
#25 0x00007fbe6441be5b in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#26 0x00007fbe684ddf67 in octave_start_gui (argc=1, argv=<optimized out>,
    start_gui=<optimized out>) at src/octave-gui.cc:192
        gui_tr = <incomplete type>
        qsci_tr = <incomplete type>
        term = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x137d638 "xterm"}}
        w = {<QMainWindow> = {<No data fields>}, static staticMetaObject = {
            d = {superdata = 0x7fbe6541c440 <QMainWindow::staticMetaObject>,
              stringdata = 0x7fbe6855f020 <qt_meta_stringdata_main_window> "main_window", data = 0x7fbe6855fae0 <qt_meta_data_main_window>,
              extradata = 0x7fbe687c04c0 <main_window::staticMetaObjectExtraData>}}, static staticMetaObjectExtraData = {objects = 0x0,
            static_metacall = 0x7fbe685198f0 <main_window::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, _workspace_model = 0x13787b0,
          status_bar = 0x138a7a0, command_window = 0x13f6940, history_window =
    0x13cdff0, file_browser_window = 0x13caaf0, doc_browser_window =
    0x13cda90, editor_window = 0x154f3b0, workspace_window = 0x1626860,
          _release_notes_icon = {static null = {<No data fields>},
            static shared_null = {ref = {_q_value = 7177}, alloc = 0,
              size = 0, data = 0x7fbe6477c93a <QString::shared_null+26>,
              clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
              capacity = 0, reserved = 0, array = {0}}, static shared_empty = {
              ref = {_q_value = 11}, alloc = 0, size = 0,
              data = 0x7fbe6477c91a <QString::shared_empty+26>, clean = 0,
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
              reserved = 0, array = {0}}, d = 0x1628130,
            static codecForCStrings = 0x11969f0}, _main_tool_bar = 0x164a7e0,
          _warning_bar = 0x7fbe689f3558, _gui_info_button = 0x15e1190,
          _debug_menu = 0x15d1200, _debug_continue = 0x1686880,
          _debug_step_into = 0x166e780, _debug_step_over = 0x1621a90,
          _debug_step_out = 0x166e710, _debug_quit = 0x15fc0c0,
          _new_script_action = 0x1625dd0, _new_function_action = 0x16718c0,
          _open_action = 0x15fd5d0, _copy_action = 0x15bdfe0,
          _paste_action = 0x1667bf0, _clear_clipboard_action = 0x15edc00,
          _undo_action = 0x1694e10, _find_files_action = 0x168cfb0,
          _exit_action = 0x169fb20, _current_directory_combo_box = 0x13886c0,
          static current_directory_width = 300,
          static current_directory_max_visible = 16,
          static current_directory_max_count = 16,
          _current_directory_line_edit = 0x0, find_files_dlg = 0x0,
          release_notes_window = 0x0, community_news_window = 0x0,
          _octave_qt_link = 0x15dc860, _clipboard = 0x16a6a10,
          _closing = false, _cmd_queue = 0x160c2f0, _cmd_processing = {
            d = 0x1211e80}, _cmd_queue_mutex = {d = 0x1211ff0},
          _dbg_queue = 0x1212020, _dbg_processing = {d = 0x1212040},
          _dbg_queue_mutex = {d = 0x15d7780}}
        application = <incomplete type>
        qt_tr = <incomplete type>
#27 0x00007fbe66cb6de5 in __libc_start_main (main=
    0x400890 <main(int, char**)>, argc=1, ubp_av=0x7ffff2f918b8,
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7ffff2f918a8) at libc-start.c:260
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -524424279345491349,
                4196598, 140737269799088, 0, 0, 524452852954141291,
                559593641115357803}, mask_was_saved = 0}}, priv = {pad = {0x0,
              0x0, 0x4009e0 <__libc_csu_init>, 0x7ffff2f918b8}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 4196832}}}
        not_first_call = <optimized out>
#28 0x000000000040091f in _start ()
No symbol table info available.

Allan Jacobs <allanjacobs>
Tue 11 Mar 2014 04:23:01 AM UTC, comment #7: 

The problem with debugging is that /usr/local/bin/octave is just a small wrapper program that gives up the controlling terminal and then execs the GUI.

You can either debug the octave-gui binary (but that won't always work properly because it will still have a controlling terminal) or you can run a command like this at the Octave prompt to start gdb in a separate terminal window and attach it to the octave-gui process:


cmd = sprintf ("gnome-terminal --command 'gdb -p %d'", getpid ());
system (cmd, false, "async");


Once the "(gdb)" prompt appears in the terminal window, type


continue


to allow Octave to resume execution, then generate the crash.  At that point, you should be able to get a stack trace in the gdb window.

John W. Eaton <jwe>
Group administrator
Tue 11 Mar 2014 04:12:34 AM UTC, comment #6: 

Changing the autocompletion settings so that  "Show completion list automatically" is off changes the behavior so there is no crash.

Just before the crash, the word "continue" appears in a box.

Allan Jacobs <allanjacobs>
Tue 11 Mar 2014 04:07:57 AM UTC, comment #5: 

I tried to get a backtrace.  I'm not sure what is wrong with this.

$ gdb octave
...
(gdb) run
Starting program: /usr/local/bin/octave
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
octave exited with signal 11
[Inferior 1 (process 19912) exited normally]
(gdb) backtrace
No stack.
(gdb) run
Starting program: /usr/local/bin/octave
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
octave exited with signal 11
[Inferior 1 (process 19948) exited normally]
(gdb) bt full
No stack.

Allan Jacobs <allanjacobs>
Tue 11 Mar 2014 03:54:56 AM UTC, comment #4: 

The crash is repeatable.  This is not an intermittent problem

Auto completion settings:

Match keywords                       on
Match words in document              off
Case sensitive                       on
Replace word by suggested one        off
Show completion list automatically   on
Number of characters before list is shown    2


Allan Jacobs <allanjacobs>
Mon 10 Mar 2014 11:56:51 PM UTC, comment #3: 

I just did a fresh hg pull, hg update, make, and make install.  The crash was reproducible last night.  I'll try again shortly.

$ hg log |head
changeset:   18553:548643c76a88
branch:      stable
tag:         tip
parent:      18550:5c868bed3f43
user:        CarnĂ« Draug <carandraug@octave.org>
date:        Mon Mar 10 17:21:20 2014 +0000
summary:     Use OCTAVE_QUIT between each image frame to allow Control-C during Image IO.

$ hg summary
parent: 18552:b83fca22bb4c
 maint: Periodic merge of gui-release to default.
branch: default
bookmarks: *@
commit: 7480 unknown (clean)
update: (current)

Allan Jacobs <allanjacobs>
Mon 10 Mar 2014 05:42:18 AM UTC, comment #2: 

Works for me, too. WIth my preferences for autocompletion, a list with "continue" open after having typed "co". The list disappears after having typed "m", exactly when you see the crash. Maybe this is an issue introduced with changeset http://hg.savannah.gnu.org/hgweb/octave/rev/0f3bc7ccb875

What are your settings concerning autocompletion?

Torsten Lilge <ttl>
Group Member
Mon 10 Mar 2014 04:16:19 AM UTC, comment #1: 

Thanks for your bug report. This does not crash for me. Is this reproducible for you? What hg revision is this built from? Can you try building the latest revision on the default branch (and report the revision here), report whether it still crashes, and get a backtrace from the GUI crash with gdb if so?

Mike Miller <mtmiller>
Group Member
Sun 09 Mar 2014 11:55:36 PM UTC, original submission:  

(1) Use the editor tab in the UI and the file finder to open featureNormalize.m.
(2) Open a line below the comment reading "% For matrices, mean computes column means of its input.".
(3) Start typing a copy of this comment line.  Octave will crash when the 'm' in the word 'computes' is typed.

Stdout or stderr on the command line says "octave exited with signal 11".

$ octave --version
GNU Octave, version 4.1.0+
Copyright (C) 2013 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

Octave was configured for "x86_64-unknown-linux-gnu".

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #30871:  octavebt.txt added by allanjacobs (8KiB - text/plain - Stack trace)
file #30837:  featureNormalize.m added by None (1KiB - text/x-objcsrc)

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by fgnievinski (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by allanjacobs (Posted a comment)
  • -email is unavailable- added by ttl (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-02-22 mtmiller Dependencies- Depends on bugs #42469
    2015-02-22 mtmiller StatusNeed Info Duplicate
        Open/ClosedOpen Closed
    2014-03-12 allanjacobs Attached File- Added octavebt.txt, #30871
    2014-03-10 mtmiller StatusNone Need Info
    2014-03-09 None Attached File- Added featureNormalize.m, #30837

    Back to the top

    Powered by Savane 3.13-cf05.
    Corresponding source code