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

In hOCR mode sometimes deleting a node makes the gIR crash. #215

Closed
SantosSi opened this issue Nov 12, 2017 · 9 comments
Closed

In hOCR mode sometimes deleting a node makes the gIR crash. #215

SantosSi opened this issue Nov 12, 2017 · 9 comments
Labels
Milestone

Comments

@SantosSi
Copy link
Contributor

Sometimes deleting it does not remove the node. Retrying to delete makes gIR crash. This happened to paragraph, line and text nodes.
The following trace is from deleting a text node for the first time.

gImageReader 3.2.3 (rev )

#1 0x000055eed5db2962 in MainWindow::signalHandler(int) ()
#2
#3 0x00007fa47552ffbc in aspeller::AffixMgr::suffix_check(aspeller::LookupInfo const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*, int, aspeller::AffEntry*) const () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#4 0x00007fa47553085b in aspeller::AffixMgr::affix_check(aspeller::LookupInfo const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*) const () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#5 0x00007fa475509890 in ?? () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#6 0x00007fa47550da56 in ?? () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#7 0x00007fa47551c1f4 in aspeller::SpellerImpl::suggest(acommon::MutableString) () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#8 0x00007fa4755447bc in aspell_speller_suggest () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#9 0x00007fa47576135b in ?? () from /usr/lib/x86_64-linux-gnu/enchant/libenchant_aspell.so
#10 0x00007fa48f3d9450 in enchant_dict_suggest () from /usr/lib/x86_64-linux-gnu/libenchant.so.1
#11 0x00007fa48f5e724c in gtk_spell_checker_get_suggestions () from /usr/lib/x86_64-linux-gnu/libgtkspell3-3.so.0
#12 0x00007fa4969b9759 in GtkSpell::Checker::get_suggestions(Glib::ustring const&) () from /usr/lib/x86_64-linux-gnu/libgtkspellmm-3.0.so.0
#13 0x000055eed5dcefd3 in OutputEditorHOCR::showContextMenu(_GdkEventButton*) ()
#14 0x000055eed5dd580a in OutputEditorHOCR::TreeView::on_button_press_event(_GdkEventButton*) ()
#15 0x00007fa4998213d4 in Gtk::Widget_Class::button_press_event_callback(_GtkWidget*, _GdkEventButton*) () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#16 0x00007fa498075fc7 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x00007fa4971411d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fa49715c13d in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fa49715ce9f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007fa4981c0094 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#21 0x00007fa498072e5e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#22 0x00007fa498074fd8 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#23 0x00007fa497b83085 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#24 0x00007fa497bb47f2 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#25 0x00007fa496e67f67 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fa496e681a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fa496e6822c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007fa497852bed in g_application_run () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#29 0x000055eed5d89056 in main ()

Thread 9 (Thread 0x7fa459749700 (LWP 6836)):
#0 0x00007fa494b0f219 in syscall () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa496ead7ba in g_cond_wait_until () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fa496e3c2e1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fa496e3c89c in g_async_queue_timeout_pop () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fa496e9009e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fa496e8f5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 8 (Thread 0x7fa458f48700 (LWP 6773)):
#0 0x00007fa494b0f219 in syscall () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa496ead69f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x000055eed5d9f31f in Displayer::scaleThread() ()
#3 0x00007fa4987a32ad in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#4 0x00007fa496e8f5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 7 (Thread 0x7fa4620c4700 (LWP 6339)):
#0 0x00007fa494b0a66d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa466b20fba in ?? () from /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
#2 0x00007fa466b20b61 in avahi_simple_poll_run () from /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
#3 0x00007fa466b20d38 in avahi_simple_poll_iterate () from /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
#4 0x00007fa466b20f53 in avahi_simple_poll_loop () from /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
#5 0x00007fa466b21017 in ?? () from /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
#6 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 6 (Thread 0x7fa4767ee700 (LWP 6333)):
#0 0x00007fa494b0a66d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa476a1cbaf in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7fa484a06700 (LWP 6332)):
#0 0x00007fa494b0f219 in syscall () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa496ead69f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x000055eed5e0386b in ScannerSane::run() ()
#3 0x00007fa4987a32ad in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#4 0x00007fa496e8f5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7fa485396700 (LWP 6331)):
#0 0x00007fa494b0a66d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa496e68119 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fa496e6822c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fa48539e42d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4 0x00007fa496e8f5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7fa4865d9700 (LWP 6330)):
#0 0x00007fa494b0a66d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa496e68119 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fa496e684b2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fa49787ead6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007fa496e8f5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7fa486dda700 (LWP 6329)):
#0 0x00007fa494b0a66d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fa496e68119 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fa496e6822c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fa496e68271 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fa496e8f5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fa4943a1494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007fa494b13abf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7fa49a5173c0 (LWP 6327)):
#0 0x00007fa494ae303a in waitpid () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x000055eed5db2962 in MainWindow::signalHandler(int) ()
#2
#3 0x00007fa47552ffbc in aspeller::AffixMgr::suffix_check(aspeller::LookupInfo const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*, int, aspeller::AffEntry*) const () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#4 0x00007fa47553085b in aspeller::AffixMgr::affix_check(aspeller::LookupInfo const&, acommon::ParmString, acommon::CheckInfo&, aspeller::GuessInfo*) const () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#5 0x00007fa475509890 in ?? () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#6 0x00007fa47550da56 in ?? () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#7 0x00007fa47551c1f4 in aspeller::SpellerImpl::suggest(acommon::MutableString) () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#8 0x00007fa4755447bc in aspell_speller_suggest () from /usr/lib/x86_64-linux-gnu/libaspell.so.15
#9 0x00007fa47576135b in ?? () from /usr/lib/x86_64-linux-gnu/enchant/libenchant_aspell.so
#10 0x00007fa48f3d9450 in enchant_dict_suggest () from /usr/lib/x86_64-linux-gnu/libenchant.so.1
#11 0x00007fa48f5e724c in gtk_spell_checker_get_suggestions () from /usr/lib/x86_64-linux-gnu/libgtkspell3-3.so.0
#12 0x00007fa4969b9759 in GtkSpell::Checker::get_suggestions(Glib::ustring const&) () from /usr/lib/x86_64-linux-gnu/libgtkspellmm-3.0.so.0
#13 0x000055eed5dcefd3 in OutputEditorHOCR::showContextMenu(_GdkEventButton*) ()
#14 0x000055eed5dd580a in OutputEditorHOCR::TreeView::on_button_press_event(_GdkEventButton*) ()
#15 0x00007fa4998213d4 in Gtk::Widget_Class::button_press_event_callback(_GtkWidget*, _GdkEventButton*) () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#16 0x00007fa498075fc7 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x00007fa4971411d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fa49715c13d in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fa49715ce9f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007fa4981c0094 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#21 0x00007fa498072e5e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#22 0x00007fa498074fd8 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#23 0x00007fa497b83085 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#24 0x00007fa497bb47f2 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#25 0x00007fa496e67f67 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fa496e681a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fa496e6822c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007fa497852bed in g_application_run () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#29 0x000055eed5d89056 in main ()

@manisandro
Copy link
Owner

Do you notice any particular sequence of steps which leads to the node not being removed? I'm unable to reproduce here...

@SantosSi
Copy link
Contributor Author

I could not identify any reproducible process leading into a crash regarding the not removed nodes.
But the one for the submitted trace is reproducible after a crash by re-opening the document and right-clicking onto the same node.

@manisandro
Copy link
Owner

Can you share that document and specify which node to right-click?

@SantosSi
Copy link
Contributor Author

How can I send you per PM?

@manisandro
Copy link
Owner

manisandro at gmail dot com

@manisandro
Copy link
Owner

Thanks for the document and steps. This is caused by an issue with the spelling library which stumbles over the apostrophe:

(gimagereader-gtk:737): CRITICAL **: enchant_is_title_case: assertion 'word && *word' failed

I'll investigate.

@zamazan4ik zamazan4ik added the bug label Nov 12, 2017
@manisandro
Copy link
Owner

The crashes in the spelling library are simply due to empty strings passed to the library result in an assertion failure. This is addressed in beb11a6.

For the failure to remove the node, I still haven't managed to reproduce this, so any additional info for that would be welcome.

@manisandro
Copy link
Owner

@SantosSi Please try with the latest master with the Qt interface (see compile HOWTO).

@manisandro manisandro added this to the 3.3.0 milestone Nov 25, 2017
@manisandro
Copy link
Owner

Should be good now.

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

No branches or pull requests

3 participants