Hi I'm not sure whether this issue has been reported and/or fixed already, so I'm asking on this list. Evince repeatedly crashes due to ATK when using "say all" in Orca. To reproduce, do the following: 1. Open a PDF, I've taken <https://www.gnu.org/ghm/2013/paris/slides/hurd--thibault--ghm-2013.pdf>. 2. Press Alt+F7 to activate caret browsing. 3. Press the key stroke to let Orca read the whole document, for laptop mode, that is capslock + arrow down. 4. After a few seconds, Evince crashes. The full backtrace is attached below. Software versions: Evince 3.22.1, libatk-bridge2.0-0/libatspi2.0-0 2.22.0 Distribution: Debian (Stretch) Please let me know if you need more information. Thanks Sebastian === Thread 6 (Thread 0x7f7519357700 (LWP 14899)): #0 0x00007f75244ff119 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007f7524d6a14f in g_cond_wait (cond=cond@entry=0x7f7527478230 <job_queue_cond>, mutex=mutex@entry=0x7f7527478220 <job_queue_mutex>) at ././glib/gthread-posix.c:1395 sampled = 53 #2 0x00007f7527240d73 in ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:211 #3 0x00007f7524d4c345 in g_thread_proxy (data=0x5608a441c140) at ././glib/gthread.c:784 thread = 0x5608a441c140 #4 0x00007f75247c0464 in start_thread (arg=0x7f7519357700) at pthread_create.c:333 __res = <optimized out> pd = 0x7f7519357700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140140910835456, -5891980448273289953, 0, 140723875937599, 0, 140141151481920, 5823515598002302239, 5823490802525252895}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #5 0x00007f75245039df in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 5 (Thread 0x7f751ba73700 (LWP 14818)): #0 0x00007f75244fa56d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f7524d249f6 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f750c0010c0, timeout=<optimized out>, context=0x5608a3fc1ad0) at ././glib/gmain.c:4228 poll_func = 0x7f7524d34840 <g_poll> max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 2 allocated_nfds = 2 fds = 0x7f750c0010c0 #2 0x00007f7524d249f6 in g_main_context_iterate (context=0x5608a3fc1ad0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3924 max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 2 allocated_nfds = 2 fds = 0x7f750c0010c0 #3 0x00007f7524d24d82 in g_main_loop_run (loop=0x5608a3fc1a60) at ././glib/gmain.c:4125 __func__ = "g_main_loop_run" #4 0x00007f752530c4f6 in gdbus_shared_thread_func (user_data=0x5608a3fc1aa0) at ././gio/gdbusprivate.c:247 data = 0x5608a3fc1aa0 #5 0x00007f7524d4c345 in g_thread_proxy (data=0x5608a3f50f70) at ././glib/gthread.c:784 thread = 0x5608a3f50f70 #6 0x00007f75247c0464 in start_thread (arg=0x7f751ba73700) at pthread_create.c:333 __res = <optimized out> pd = 0x7f751ba73700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140140951844608, -5891980448273289953, 0, 140723875936783, 0, 140141151481920, 5823521217967009055, 5823490802525252895}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #7 0x00007f75245039df in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 4 (Thread 0x7f751b1f1700 (LWP 14819)): #0 0x00007f75244ff119 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007f7524d6a26a in g_cond_wait_until (cond=cond@entry=0x5608a3fc0f78, mutex=mutex@entry=0x5608a3fc0f70, end_time=end_time@entry=4212547252) at ././glib/gthread-posix.c:1442 now = {tv_sec = 4197, tv_nsec = 547252408} span = {tv_sec = 14, tv_nsec = 999999592} sampled = 0 res = <optimized out> #2 0x00007f7524cf8e89 in g_async_queue_pop_intern_unlocked (queue=queue@entry=0x5608a3fc0f70, wait=wait@entry=1, end_time=end_time@entry=4212547252) at ././glib/gasyncqueue.c:422 retval = <optimized out> __func__ = "g_async_queue_pop_intern_unlocked" #3 0x00007f7524cf94ac in g_async_queue_timeout_pop (queue=0x5608a3fc0f70, timeout=timeout@entry=15000000) at ././glib/gasyncqueue.c:543 end_time = 4212547252 retval = <optimized out> #4 0x00007f7524d4ce0d in g_thread_pool_wait_for_new_pool () at ././glib/gthreadpool.c:167 pool = <optimized out> local_wakeup_thread_serial = <optimized out> last_wakeup_thread_serial = <optimized out> have_relayed_thread_marker = <optimized out> free_pool = <optimized out> pool = <optimized out> #5 0x00007f7524d4ce0d in g_thread_pool_thread_proxy (data=<optimized out>) at ././glib/gthreadpool.c:364 free_pool = <optimized out> pool = <optimized out> #6 0x00007f7524d4c345 in g_thread_proxy (data=0x5608a3f7a850) at ././glib/gthread.c:784 thread = 0x5608a3f7a850 #7 0x00007f75247c0464 in start_thread (arg=0x7f751b1f1700) at pthread_create.c:333 __res = <optimized out> pd = 0x7f751b1f1700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140140942923520, -5891980448273289953, 0, 140723875936831, 0, 140141151481920, 5823520188248599839, 5823490802525252895}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #8 0x00007f75245039df in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 3 (Thread 0x7f7519b58700 (LWP 14898)): #0 0x00007f75244fa56d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f7524d249f6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f75040010c0, timeout=<optimized out>, context=0x5608a4417550) at ././glib/gmain.c:4228 poll_func = 0x7f7524d34840 <g_poll> max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 1 allocated_nfds = 1 fds = 0x7f75040010c0 #2 0x00007f7524d249f6 in g_main_context_iterate (context=context@entry=0x5608a4417550, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3924 max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 1 allocated_nfds = 1 fds = 0x7f75040010c0 #3 0x00007f7524d24b0c in g_main_context_iteration (context=0x5608a4417550, may_block=1) at ././glib/gmain.c:3990 retval = <optimized out> #4 0x00007f7519b6b46d in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #5 0x00007f7524d4c345 in g_thread_proxy (data=0x5608a441c050) at ././glib/gthread.c:784 thread = 0x5608a441c050 #6 0x00007f75247c0464 in start_thread (arg=0x7f7519b58700) at pthread_create.c:333 __res = <optimized out> pd = 0x7f7519b58700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140140919228160, -5891980448273289953, 0, 140723875935167, 0, 140141151481920, 5823516698050800927, 5823490802525252895}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #7 0x00007f75245039df in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 2 (Thread 0x7f751c274700 (LWP 14817)): #0 0x00007f75244fa56d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f7524d249f6 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f75140008e0, timeout=<optimized out>, context=0x5608a3fbfe00) at ././glib/gmain.c:4228 poll_func = 0x7f7524d34840 <g_poll> max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 2 allocated_nfds = 2 fds = 0x7f75140008e0 #2 0x00007f7524d249f6 in g_main_context_iterate (context=context@entry=0x5608a3fbfe00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3924 max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 2 allocated_nfds = 2 fds = 0x7f75140008e0 #3 0x00007f7524d24b0c in g_main_context_iteration (context=0x5608a3fbfe00, may_block=may_block@entry=1) at ././glib/gmain.c:3990 retval = <optimized out> #4 0x00007f7524d24b51 in glib_worker_main (data=<optimized out>) at ././glib/gmain.c:5783 #5 0x00007f7524d4c345 in g_thread_proxy (data=0x5608a3f50f20) at ././glib/gthread.c:784 thread = 0x5608a3f50f20 #6 0x00007f75247c0464 in start_thread (arg=0x7f751c274700) at pthread_create.c:333 __res = <optimized out> pd = 0x7f751c274700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140140960237312, -5891980448273289953, 0, 140723875936431, 0, 140141151481920, 5823509123875974431, 5823490802525252895}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #7 0x00007f75245039df in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 1 (Thread 0x7f75277e3540 (LWP 14816)): #0 0x00007f7524543ec2 in __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:396 #1 0x00007f7524d54a2d in memcpy (__len=18446744073709551615, __src=0x7f75080f01a3, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string3.h:53 start = 0x7f75080f01a3 "" end = <optimized out> out = <optimized out> #2 0x00007f7524d54a2d in g_utf8_substring (str=str@entry=0x7f75080f0160 "Recent developments\nin the Hurd\nSamuel Thibault\n2013 August 24th\n1", start_pos=start_pos@entry=67, end_pos=end_pos@entry=66) at ././glib/gutf8.c:288 start = 0x7f75080f01a3 "" end = <optimized out> out = <optimized out> #3 0x00007f7527243774 in ev_page_accessible_get_substring (text=<optimized out>, start_offset=67, end_offset=<optimized out>) at ev-page-accessible.c:494 self = <optimized out> view = <optimized out> substring = <optimized out> normalized = <optimized out> page_text = 0x7f75080f0160 "Recent developments\nin the Hurd\nSamuel Thibault\n2013 August 24th\n1" #4 0x00007f75225ae26d in impl_GetText (bus=<optimized out>, message=0x5608a3f90fa0, user_data=0x5608a4633750) at text-adaptor.c:81 text = 0x5608a4633750 startOffset = 67 endOffset = 68 txt = 0x5608a3f8dac0 "\320\356\370\243\bV" reply = <optimized out> __func__ = "impl_GetText" #5 0x00007f75225a24b8 in handle_other (pathstr=0x5608a4767c98 "/org/a11y/atspi/accessible/200", member=<optimized out>, iface=0x5608a4767cd0 "org.a11y.atspi.Text", path=0x5608a3f8dac0, message=0x5608a3f90fa0, bus=0x5608a40a8ec0) at droute.c:553 pair = {one = 0x5608a4767cd0 "org.a11y.atspi.Text", two = 0x5608a4767cf0 "GetText"} func = 0x7f75225ae1c0 <impl_GetText> result = 1 reply = 0x0 path = 0x5608a3f8dac0 iface = <optimized out> member = <optimized out> type = 1 pathstr = <optimized out> #6 0x00007f75225a24b8 in handle_message (bus=0x5608a40a8ec0, message=0x5608a3f90fa0, user_data=0x5608a3f8dac0) at droute.c:600 path = 0x5608a3f8dac0 iface = <optimized out> member = <optimized out> type = 1 pathstr = <optimized out> #7 0x00007f751e18c6a3 in () at /lib/x86_64-linux-gnu/libdbus-1.so.3 #8 0x00007f751e17dd24 in dbus_connection_dispatch () at /lib/x86_64-linux-gnu/libdbus-1.so.3 #9 0x00007f751e3c6665 in message_queue_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at atspi-gmain.c:89 connection = 0x5608a40a8ec0 #10 0x00007f7524d247f7 in g_main_dispatch (context=0x5608a3f5e7d0) at ././glib/gmain.c:3203 dispatch = 0x7f751e3c6650 <message_queue_dispatch> prev_source = 0x0 was_in_call = 0 user_data = 0x0 callback = 0x0 cb_funcs = <optimized out> cb_data = <optimized out> need_destroy = <optimized out> source = 0x5608a4767a30 current = 0x5608a3faaeb0 i = 0 #11 0x00007f7524d247f7 in g_main_context_dispatch (context=context@entry=0x5608a3f5e7d0) at ././glib/gmain.c:3856 #12 0x00007f7524d24a60 in g_main_context_iterate (context=context@entry=0x5608a3f5e7d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3929 max_priority = 0 timeout = 0 some_ready = 1 nfds = 5 allocated_nfds = 5 fds = <optimized out> #13 0x00007f7524d24b0c in g_main_context_iteration (context=context@entry=0x5608a3f5e7d0, may_block=may_block@entry=1) at ././glib/gmain.c:3990 retval = <optimized out> #14 0x00007f75252e070d in g_application_run (application=0x5608a4123110 [EvApplication], argc=0, argv=0x0) at ././gio/gapplication.c:2381 arguments = 0x5608a40042b0 status = 0 context = 0x5608a3f5e7d0 acquired_context = <optimized out> __func__ = "g_application_run" #15 0x00005608a3173a7b in main (argc=<optimized out>, argv=<optimized out>) at main.c:316 application = 0x5608a4123110 [EvApplication] context = <optimized out> error = 0x0 status = <optimized out>
Attachment:
signature.asc
Description: PGP signature