Thanks for the information Herbert. We continued looking at this today, but we 
still have not determined the reason it is crashing. The application crashes at 
SidebarController::notifyContextChangeEvent in SidebarController.cxx at 
maRequestedContext =Context {...}. Our debugger says that eEvent is of the 
value <ERROR>.

Raymond 

-----Original Message-----
From: Herbert Duerr [mailto:h...@apache.org] 
Sent: Tuesday, January 21, 2014 5:11 AM
To: dev@openoffice.apache.org
Cc: Meffe, David K; Steele, Raymond
Subject: Re: EXTERNAL: Re: Building comphelper

Hi David,

> I just wanted to share the basics of what I have found so far. I still have 
> no idea on how to solve the issue.  Any help would be great!
>
> Observed Behaviour
> 1.    OpenOffice starts, the splash screen with logo appears and then closes 
> replaced with the full application window and choices for specific OpenOffice 
> projects.
> 2.    Selecting either the Word or Spreadsheet project causes a segmentation 
> fault and closes the application.
> 3.    Following the start of the application with the debugger, we can see 
> the SidebarController is created in a first pass without error (known because 
> first time to this stop point does not error).
> 4.    As the process continues, the SidebarController constructor is called a 
> second time (unknown why, but could be understood with more familiarity with 
> the system).
> 5.    The failure doesn't appear in the constructor, but the trace follows 
> down SidebarController constructor call of "WeakReference<SidebarController> 
> WeakController (this);"
> 6.    This template definition for WeakController uses 
> Reference<Template>::Refrence( interface_type *pInterface) as its definition 
> in ::com::sun::star::uno::Reference.hxx.
> 7.    The function will try to convert the pInterface parameter to a 
> XInterface type called _pInterface.
> 8.    If it succeeds in converting the pInterface to _pInterface then the 
> function will try to acquire a new reference.
> 9.    Assumption: Creating this new reference calls 
> SidebarController::notifyContextChangeEvent with a corrupt or bad rEvent. 
> This assumption is based on the stack where the immediate next routine after 
> the Reference function call is the notifyContextChangeEvent, also while 
> following along in the debugger, the rEvent parameter at this point is 
> already corrupted with the value <ERROR> stored in the structure.
> 10.   It is later after the notifyContextChangeEvent calls Context and then 
> ustring that the segmentation fault occurs, but I believe the error located 
> in rEvent is what causes this later problem.

I haven't fully caught up with everything, but if I had to debug this I'd watch 
out for exceptions thrown in step 5 and later. In gdb I'd use the command
        catch throw
to find the throwing code. Is there a similar facility in Solaris Studio?

Herbert

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to