Dangling SwAccessibleContext -> SwAccessibleMap

Michael Stahl mstahl at redhat.com
Thu Feb 18 11:43:48 UTC 2016


On 17.02.2016 17:40, Stephan Bergmann wrote:
> <http://ci.libreoffice.org/job/lo_tb_master_linux_dbg/5478/> crashed in 
> JunitTest_sw_unoapi_1 with a SEGV as below.  Smells like the 
> SwAccessibleContext (base class of SwAccessibleParagraph)'s m_pMap 
> (pointing at an SwAccessibleMap) is dangling. The lifecycle of any 
> SwAccessibleMap instances is controlled by SwViewShellImp (member 
> m_pAccessibleMap, deleted during dtor).
> 
> It wouldn't even easily work to notify all SwAccessibleContext instances 
> registered at SwViewShellImp::m_pAccessibleMap when the latter is 
> destroyed (so that the former could clear their m_pMap members), as what 
> gets registered in the map are not the SwAccessibleContext instances 
> themselves, but their GetFrame() objects (cf. 
> SwAccessibleContext::RemoveFrameFromAccessibleMap).
> 
> Any friend of the Writer and/or accessibility code got any idea?

sounds familiar - you probably have this message in the log too?
"Frame map should be empty after disposing the root frame"

for some reason a recursive dispose of the root frame's accessibility
object left some SwAccessible corresponding to a paragraph still alive.

this has been happening for years but unfortunately it is rather hard to
reproduce and would need some extra logging to track down...




More information about the LibreOffice mailing list