Bug 64599

Summary: Crash when clicking on shapes toolbar
Product: LibreOffice Reporter: Oliver King-Smith <oliverks1>
Component: DrawAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED WORKSFORME    
Severity: normal CC: bugs, jmadero.dev, serval2412, thb
Priority: medium    
Version: 4.0.2.2 release   
Hardware: Other   
OS: All   
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 55571    
Attachments: Crash report

Description Oliver King-Smith 2013-05-14 19:14:40 UTC
Created attachment 79314 [details]
Crash report

After using Drawing from a bit, it seems to crash if you click too quickly on the shapes toolbar.

When I try to reproduce it, I can't seem to make it happen.

Before the crash LibreOffice seems to freeze for a bit (maybe 3 - 4 seconds) and then terminates.  I have attached an error report.
Comment 1 Joel Madero 2013-05-15 16:21:29 UTC
Hm what does for a bit mean? Also by using is it just having it open or actually working in it? How many times has this occurred? What operating system? Anywhere on the toolbar or just on a specific shape?

Marking as NEEDINFO - please provide additional details and then mark but as UNCONFIRMED.


Thanks!
Comment 2 Julien Nabet 2013-05-17 22:28:01 UTC
Oliver: it seems you use Mac.
So I'll quote the Roman's questionnaire (and put him on cc):
"
1) Do you have any accesibility features enabled? Apple’s accessibility
features like “VoiceOver” or “Enable access for assistive devices”, which get
enabled in “System Preferences > Universal Access”, are known to cause many crashes and freezes in LibreOffice. So please try to disable any accesibility features, then check if the problem is still reproducible.

2) Do you have installed any window management/user interface utilities/apps/control panels/extensions for Mac OS X like 
   * AquaSnap                * BetterSnapTool
   * BetterTouchTool         * Breeze
   * Cinch                   * Divvy
   * DoublePane              * Flexiglass
   * HyperDock               * iSnap
   * Moom                    * RightZoom
   * ShiftIt                 * SizeUp
   * SizeWell                * Spectacle
   * Stay                    * TileWindows
   * WindowTidy            ... or something similar?

And/or do you use any mouse cursor/pointer utility, i.e. some little application or control panel etc. which animates or replaces etc. the mouse curser/pointer, like
   * LazyMouse?

And/or do you use any special software which could be related to accessibility stuff, e.g. a screen reader, screen magnifier, speech recognition software,
a text-to-speech (dictation) application, or similar?

All these and many similar utilities rely heavily on Mac OS accessibility features and therefore can cause LibreOffice to crash or freeze. So please check if you have installed any utility of this kind and try to disable it
(or to add LibreOffice to the list of excluded applications for the utility,
if there is such a thing).

So please check these possibilities, if any of them helps to make the crash go away, and report the results here.
"
Comment 3 Oliver King-Smith 2013-05-18 19:13:02 UTC
Ahh,

I am a heavy user of the Zoom function in accessibility.  I also use the worlds largest cursor so I can find it on screen.

That's a shame.  I am guessing this is a dupe.

Oliver
Comment 4 Julien Nabet 2013-05-18 20:21:54 UTC
Thorsten: 
I tried to follow the bt:
editeng/source/accessibility/AccessibleContextBase.cxx
    660 void AccessibleContextBase::ThrowIfDisposed (void)
    661     throw (::com::sun::star::lang::DisposedException)
    662 {
    663     if (rBHelper.bDisposed || rBHelper.bInDispose)
    664     {
    665         OSL_TRACE ("Calling disposed object. Throwing exception:");
    666         throw lang::DisposedException ("object has been already disposed",
    667             static_cast<uno::XWeak*>(this));
    668     }
    669 }

svx/source/accessibility/AccessibleShape.cxx
    622 awt::Size SAL_CALL AccessibleShape::getSize (void)
    623     throw (uno::RuntimeException)
    624 {
    625     ThrowIfDisposed ();
    626     awt::Rectangle aBoundingBox (getBounds());
    627     return awt::Size (aBoundingBox.Width, aBoundingBox.Height);
    628 }

vcl/aqua/source/a11y/aqua11ycomponentwrapper.mm
     33 +(id)sizeAttributeForElement:(AquaA11yWrapper *)wrapper {
     34     Size size = [ wrapper accessibleComponent ] -> getSize();
     35     NSSize nsSize = NSMakeSize ( (float) size.Width, (float) size.Height );
     36     return [ NSValue valueWithSize: nsSize ];

vcl/aqua/source/a11y/aqua11ywrapper.mm
    396 -(id)sizeAttribute {
    397     if ( [ self accessibleComponent ] != nil ) {
    398         return [ AquaA11yComponentWrapper sizeAttributeForElement: self ];
    399     } else {
    400         return nil;
    401     }
    402 }

But I don't find anything relevant...
Any idea?
Comment 5 Thorsten Behrens (allotropia) 2013-05-31 22:06:52 UTC
Add a check for IsDisposed everywhere in vcl/aqua/source/a11y/aqua11ycomponentwrapper.mm maybe? Seems that stuff is still referenced, but dead.
Comment 6 Niklas Johansson 2013-08-02 14:16:42 UTC
Since this is related to Mac Accessibility I set "Blocks" to "55571".
Comment 7 Julien Nabet 2014-07-29 19:38:51 UTC
Oliver: Any update with last stable LO version 4.2.5?
Comment 8 Julien Nabet 2015-04-17 22:46:26 UTC
No feedback since more than 6 months, let's put this one to WFM.

Oliver: don't hesitate to reopen this tracker if you can reproduce the crash with recent LO version (4.4.2 or at least 4.3.6).