Bug 325028 - [a11y] Frequent crashes in editor resulting from atk_object_get_attributes()
Summary: [a11y] Frequent crashes in editor resulting from atk_object_get_attributes()
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.6   Edit
Hardware: PC Linux
: P3 critical (vote)
Target Milestone: 3.6.2   Edit
Assignee: Silenio Quarti CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
: 315906 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-09-11 05:34 EDT by Joanmarie CLA
Modified: 2010-10-05 16:22 EDT (History)
6 users (show)

See Also:
Silenio_Quarti: review+


Attachments
aforementioned test script to trigger the crash (445 bytes, text/plain)
2010-09-11 05:35 EDT, Joanmarie CLA
no flags Details
requested error log (63.23 KB, text/plain)
2010-09-11 18:07 EDT, Joanmarie CLA
no flags Details
javacore created after the error (179.08 KB, application/x-gzip)
2010-09-12 12:07 EDT, jose vilmar estacio de souza CLA
no flags Details
patch for 3.6.2 (12.40 KB, patch)
2010-09-13 13:46 EDT, Carolyn MacLeod CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joanmarie CLA 2010-09-11 05:34:38 EDT
Build Identifier: I20100805-1700

When Orca attempts to obtain the attributes associated with an accessible object, and that object is the Eclipse editor, Eclipse will eventually and reliably crash. This bug can be reproduced without Orca running.

Reproducible: Always

Steps to Reproduce:
1. Enable AT support for your session, log out, log in

2. In a terminal window, run the (to-be) attached 'eclipse_crasher.py' script

3. Perform the originally-reported steps as described below (emphasizing the 'type slowly' part)

Eventually Eclipse will crash. If you comment out the line in which getAttributes() is called, Eclipse will not crash.

As reported by José on the Orca list:

----
Here is a test case to reproduce the problem. At least in my environment 
I can reproduce in 100% of the time.

1: Inside a java project create a class with the following content:
class Test {
}

2: before the line that contains the text 'class Test {', type slowly 
the following text:
static import br.dataprev.gov

When I start to type the text eclipse dies.
It seems sound strange but it always happens.
----
Comment 1 Joanmarie CLA 2010-09-11 05:35:26 EDT
Created attachment 178676 [details]
aforementioned test script to trigger the crash
Comment 2 Remy Suen CLA 2010-09-11 17:53:25 EDT
Comment on attachment 178676 [details]
aforementioned test script to trigger the crash

Please look for a crash log with a hs_err_pid prefix and attach it to Bugzilla.
Comment 3 Joanmarie CLA 2010-09-11 18:07:23 EDT
Created attachment 178692 [details]
requested error log
Comment 4 jose vilmar estacio de souza CLA 2010-09-12 11:44:25 EDT
Sometimes, when the crash happens, I find the following message in the console where eclipse was running:

***MEMORY-ERROR***: Eclipse[23965]: GSlice: assertion failed: sinfo->n_allocated > 0

I am running Build id: 20100617-1415
Comment 5 jose vilmar estacio de souza CLA 2010-09-12 12:07:52 EDT
Created attachment 178702 [details]
javacore created after the error

This file was created when running with jdk from ibm
Comment 6 Carolyn MacLeod CLA 2010-09-13 12:40:12 EDT
Wow, I was able to make this happen. Thanks very much for the repeatable test case. Silenio had seen it before, but he couldn't repeat it.

We now have a fix (we were using g_list_append to add AtkAttributes to the AtkAttributeSet instead of g_slist_append).

I have released the fix to HEAD for Eclipse 3.7, and it will be in 3.7 M2 at the end of this week.

I will release the fix for Eclipse 3.6.2 as soon as I get the appropriate approval. (Unfortunately, it is one week too late for 3.6.1).
Comment 7 Carolyn MacLeod CLA 2010-09-13 13:46:23 EDT
Created attachment 178764 [details]
patch for 3.6.2

The attached patch fixes this for 3.6.2. SSQ, please review.
Comment 8 Carolyn MacLeod CLA 2010-09-13 13:59:20 EDT
Fixed > 20100913 in 3.6.2 and 3.7.
Comment 9 Carolyn MacLeod CLA 2010-09-13 14:06:49 EDT
*** Bug 315906 has been marked as a duplicate of this bug. ***
Comment 10 jose vilmar estacio de souza CLA 2010-09-13 15:10:08 EDT
(In reply to comment #6)
> Wow, I was able to make this happen. Thanks very much for the repeatable test
> case. Silenio had seen it before, but he couldn't repeat it.
> 
> We now have a fix (we were using g_list_append to add AtkAttributes to the
> AtkAttributeSet instead of g_slist_append).
> 
Wow! great news.
I owe one more beer to the team's eclipse.
> I have released the fix to HEAD for Eclipse 3.7, and it will be in 3.7 M2 at
> the end of this week.
> 
> I will release the fix for Eclipse 3.6.2 as soon as I get the appropriate
> approval. (Unfortunately, it is one week too late for 3.6.1).

What a shame! I use eclipse almost every day and would be great to have this fix as soon as possible.
Thanks again.
Comment 11 Carolyn MacLeod CLA 2010-09-13 15:59:41 EDT
> I use eclipse almost every day and would be great to have this fix as soon as 
> possible.

If you are not afraid of nightly builds, then you can have this fix tomorrow morning.   :)

I recommend, however, that you wait for the next Eclipse 3.7 milestone build (M2), which will be available at the end of this week - that's not too long to wait <grin>. That build will be quite well tested.

As for actual releases of Eclipse, the next release that will have this fix is Eclipse 3.6.2 in February. I agree that it is too bad we missed 3.6.1, but that ship has sailed. Eclipse 3.7 will be released in June.
Comment 12 jose vilmar estacio de souza CLA 2010-09-14 08:17:14 EDT
(In reply to comment #11)
> If you are not afraid of nightly builds, then you can have this fix tomorrow
> morning.   :)
> 
> I recommend, however, that you wait for the next Eclipse 3.7 milestone build
> (M2), which will be available at the end of this week - that's not too long to
> wait <grin>. That build will be quite well tested.
> 
Actually I run eclipse-jee-helios because I am involved in developing some projects web.
Is it possible to do the same with 3.7 M2?
Some kind of incompatibility?
Thanks.
Comment 13 Carolyn MacLeod CLA 2010-09-14 10:10:07 EDT
I am checking with the JEE folks to see if they will do a JEE IDE build for 3.7 M2. I'll let you know what they say.
Comment 14 jose vilmar estacio de souza CLA 2010-09-21 16:50:44 EDT
eclipse 3.7 m2 was removed from the download page?
I downloaded it on Saturday but now I didn't find it.
Comment 15 Carolyn MacLeod CLA 2010-09-21 17:14:55 EDT
Wow, very strange. Apparently there was a compiler bug that was bad enough that M2 is being rebuilt, and it will be named "M2a".

This message was sent by our build team to the platform-releng-dev mailing list:
"M2 has been removed from our download pages and repositories so our consumers are not impacted by the bug."

For more info: http://dev.eclipse.org/mhonarc/lists/cross-project-issues-dev/msg04722.html

The build is still in progress, but it should be available by tomorrow morning.
Comment 16 Carolyn MacLeod CLA 2010-09-30 10:14:55 EDT
Jose, I am not sure if you ever did go and get 3.7 M2a, but if not, then FYI it is available here:
http://download.eclipse.org/eclipse/downloads/drops/S-3.7M2a-201009211024/index.php
Comment 17 David Williams CLA 2010-10-05 16:22:51 EDT
(In reply to comment #13)
> I am checking with the JEE folks to see if they will do a JEE IDE build for 3.7
> M2. I'll let you know what they say.

We in WTP (and others) did do a build for M2 ... but unfortunately no JEE IDE package builds are being done yet (and, I am not sure why not). 

All the M2 level of code is in the indigo repository, at 

http://download.eclipse.org/releases/indigo/

but without the package features there, there is no automatic update to a previous JEE IDE package. You'd basically have to pick all the features you wanted, and install them. Not very useful ... but thought I'd write down what I know at this point in time.