After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 742157 - SIGSEGV fatal error when executing SwingSet2
SIGSEGV fatal error when executing SwingSet2
Status: RESOLVED FIXED
Product: java-atk-wrapper
Classification: Applications
Component: general
unspecified
Other Linux
: Urgent blocker
: ---
Assigned To: java-atk-wrapper maintainer(s)
java-atk-wrapper maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-12-31 18:25 UTC by Magdalen Berns (irc magpie)
Modified: 2015-02-27 16:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to fix issue (7.64 KB, patch)
2015-01-01 23:40 UTC, Magdalen Berns (irc magpie)
committed Details | Review
Patch to address actually problem (7.62 KB, patch)
2015-01-02 00:02 UTC, Magdalen Berns (irc magpie)
committed Details | Review
Patch to fix error (1.43 KB, patch)
2015-01-02 00:28 UTC, Magdalen Berns (irc magpie)
committed Details | Review
Patch to address problem (1.52 KB, patch)
2015-01-02 14:24 UTC, Magdalen Berns (irc magpie)
committed Details | Review
patch to fix error (891 bytes, patch)
2015-01-04 01:14 UTC, Magdalen Berns (irc magpie)
committed Details | Review
file generated by error reported in comment #10 (67.44 KB, text/plain)
2015-01-05 12:32 UTC, Jose Vilmar Estacio de Souza
  Details

Description Magdalen Berns (irc magpie) 2014-12-31 18:25:52 UTC
See attachment for more info.[1]

Also see https://bugzilla.gnome.org/show_bug.cgi?id=741062#c36

[1] https://bug741062.bugzilla-attachments.gnome.org/attachment.cgi?id=293495
Comment 1 Magdalen Berns (irc magpie) 2015-01-01 23:40:34 UTC
Created attachment 293577 [details] [review]
Patch to fix issue 

It seems like the implementation of the update to g_mutex_init and g_cond_init was not correct this has been responsible for the issue. There is still an issue with SwingSet2 but now it's hanging so it's possible to get a trace with gdb and figure out what is triggering the issue there.

I will paste that in a bit.
Comment 2 Magdalen Berns (irc magpie) 2015-01-01 23:45:57 UTC
The terminal error is

(process:20961): GModule-CRITICAL **: g_module_symbol: assertion 'module != NULL' failed

(process:20961): GModule-CRITICAL **: g_module_close: assertion 'module != NULL' failed
Comment 3 Magdalen Berns (irc magpie) 2015-01-02 00:02:34 UTC
Created attachment 293579 [details] [review]
Patch to address actually problem
Comment 4 Magdalen Berns (irc magpie) 2015-01-02 00:05:31 UTC
(gdb) thread apply all bt 

Thread 12 (Thread 0x7fa1682db700 (LWP 24836))

  • #0 sem_wait
    at ../sysdeps/unix/sysv/linux/x86_64/sem_wait.S line 85
  • #1 os::signal_wait()
    at /usr/src/debug/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jdk8/hotspot/src/os/linux/vm/os_linux.cpp line 2536
  • #2 os::signal_wait()
    at /usr/src/debug/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jdk8/hotspot/src/os/linux/vm/os_linux.cpp line 2560
  • #3 signal_thread_entry(JavaThread*, Thread*)
    at /usr/src/debug/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jdk8/hotspot/src/share/vm/runtime/os.cpp line 244
  • #4 JavaThread::thread_main_inner()
    at /usr/src/debug/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jdk8/hotspot/src/share/vm/runtime/thread.cpp line 1706
  • #5 java_start(Thread*)
    at /usr/src/debug/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jdk8/hotspot/src/os/linux/vm/os_linux.cpp line 827
  • #6 start_thread
    at pthread_create.c line 310
  • #7 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 109

Comment 5 Magdalen Berns (irc magpie) 2015-01-02 00:28:35 UTC
Created attachment 293580 [details] [review]
Patch to fix error
Comment 6 Magdalen Berns (irc magpie) 2015-01-02 14:23:20 UTC
Reopening as removing the g_cond_wait call only means that nothing is waiting and the a11y wrapper is bypassed.
Comment 7 Magdalen Berns (irc magpie) 2015-01-02 14:24:44 UTC
Created attachment 293601 [details] [review]
Patch to address problem
Comment 8 Magdalen Berns (irc magpie) 2015-01-03 15:30:37 UTC
Ok I believe I have got to the bottom of this.

It seems that there is an openJDK patch, "openjdk-accessibility" which allows the accessibility wrapper work with OpenJDK. 

Problem:

Installing that installing that also installs the non-development version of the wrapper which makes testing of the development version a problem. 

Solution find the source code for this patch from *somewhere*, install it and potentially figure out how to not need that so that the wrapper can be self contained.

I'm going to change the severity of this to "blocker" since testing relies on it being resolved.
Comment 9 Magdalen Berns (irc magpie) 2015-01-04 01:14:43 UTC
Created attachment 293686 [details] [review]
patch to fix error

Ok on further investigation it turns out the issue mentioned in comment 8 was not the cause the problem. This one line patch fixes it.
Comment 10 Jose Vilmar Estacio de Souza 2015-01-05 12:30:25 UTC
java -jar SwingSet2.jar 


** (java:8629): CRITICAL **: atk_object_get_role: assertion 'ATK_IS_OBJECT (accessible)' failed

** (java:8629): CRITICAL **: atk_object_get_role: assertion 'ATK_IS_OBJECT (accessible)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

** (java:8629): CRITICAL **: atk_object_get_name: assertion 'ATK_IS_OBJECT (accessible)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

** (java:8629): CRITICAL **: atk_object_get_name: assertion 'ATK_IS_OBJECT (accessible)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(java:8629): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(java:8629): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

** (java:8629): CRITICAL **: atk_object_ref_state_set: assertion 'ATK_IS_OBJECT (accessible)' failed

(java:8629): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fa0628e787d, pid=8629, tid=140325708363520
#
# JRE version: OpenJDK Runtime Environment (8.0_25-b18) (build 1.8.0_25-b18)
# Java VM: OpenJDK 64-Bit Server VM (25.25-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libatk-wrapper.so.1.0.20+0x987d]  jaw_action_get_keybinding+0x2d
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /data/Downloads/hs_err_pid8629.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)
Comment 11 Jose Vilmar Estacio de Souza 2015-01-05 12:32:22 UTC
Created attachment 293811 [details]
file generated by error reported in comment #10
Comment 12 Magdalen Berns (irc magpie) 2015-01-05 13:06:38 UTC
(In reply to comment #11)
> Created an attachment (id=293811) [details]
> file generated by error reported in comment #10

Did you run 

sudo make distclean

before re-installing?
Comment 13 Jose Vilmar Estacio de Souza 2015-01-05 13:33:10 UTC
(In reply to comment #12)

> 
> Did you run 
> 
> sudo make distclean

> 
> before re-installing?



The commands that I run to compile and install are the following:

make uninstall&&
make distclean&&
git clean -f -d -X&&
./autogen.sh --prefix=/usr&&
make&& 
make install

They are present in a script and I run the script with sudo.
Comment 14 Magdalen Berns (irc magpie) 2015-01-05 13:44:51 UTC
Can you upload the file produced: i.e. /data/Downloads/hs_err_pid8629.log
Comment 15 Magdalen Berns (irc magpie) 2015-01-05 13:47:04 UTC
Also, just to make sure: Did you also run SwingSet as root? because if so, you should not be doing that.
Comment 16 Jose Vilmar Estacio de Souza 2015-01-05 14:18:41 UTC
(In reply to comment #15)
> Also, just to make sure: Did you also run SwingSet as root? because if so, you
> should not be doing that.

No, run as normal user.
Comment 17 Jose Vilmar Estacio de Souza 2015-01-05 14:24:17 UTC
(In reply to comment #14)
> Can you upload the file produced: i.e. /data/Downloads/hs_err_pid8629.log

Unless I am wrong, I updated in comment #11.
Comment 18 Magdalen Berns (irc magpie) 2015-01-05 17:58:34 UTC
(In reply to comment #17)
> (In reply to comment #14)
> > Can you upload the file produced: i.e. /data/Downloads/hs_err_pid8629.log
> 
> Unless I am wrong, I updated in comment #11.

Sorry, I missed that. I am not able to recreate this bug with SwingSet though I do seem to get a SIGEV with notepad though the log looks, a little different on that.

I am just wondering, does it get triggered by a particular event or is it reproducible for you every time you literally just run the SwingSet program?
Comment 19 Jose Vilmar Estacio de Souza 2015-01-05 18:37:22 UTC
(In reply to comment #18)
> Sorry, I missed that. I am not able to recreate this bug with SwingSet though I
> do seem to get a SIGEV with notepad though the log looks, a little different on
> that.
> 
> I am just wondering, does it get triggered by a particular event or is it
> reproducible for you every time you literally just run the SwingSet program?


Every time I run  the SwingSet program I receive the SIGSEGV error. Seems that the screen appears because I can hear orca announce something like toggle button but after that the program aborts.

Did you try run the SwingSet program with orca active?
I think that the problem can be reproduced if orca is active.
If I execute the SwingSet program without orca, I do not receive the SIGSEGV error.
Comment 20 Magdalen Berns (irc magpie) 2015-01-08 16:05:08 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Sorry, I missed that. I am not able to recreate this bug with SwingSet though I
> > do seem to get a SIGEV with notepad though the log looks, a little different on
> > that.
> > 
> > I am just wondering, does it get triggered by a particular event or is it
> > reproducible for you every time you literally just run the SwingSet program?
> 
> 
> Every time I run  the SwingSet program I receive the SIGSEGV error. Seems that
> the screen appears because I can hear orca announce something like toggle
> button but after that the program aborts.
> 
> Did you try run the SwingSet program with orca active?
> I think that the problem can be reproduced if orca is active.
> If I execute the SwingSet program without orca, I do not receive the SIGSEGV
> error.

Thanks for the additional information. I am able to recreate this bug now and can confirm that it is a different SIGSEGV bug to the one originally reported in comment 0. It is not triggered when orca is activated but seems to occur when a focused widget is clicked on. I will update you with a new bug report and cc you.

For now, I will close this bug.
Comment 21 André Klapper 2015-02-27 16:57:18 UTC
[Moving at-spi/java-atk-wrapper bugs to separate product. See bug 740075]