You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by lin yuan <yu...@gmail.com> on 2012/05/29 13:46:38 UTC

How to enable crash log for AOO3.4?

I did a build based on AOO 3.4 source code with "--enable-crashdump=yes"
in configuration parameters on Windows 7 32bit.  When a crash happened, the
auto recovery dialog will popup and the soffice.bin process also will be
restarted. But still no crash log can be found in user directory.
Is there any way to enable the crash log when launch soffice.exe?


Lin Yuan

Re: How to enable crash log for AOO3.4?

Posted by Herbert Duerr <hd...@apache.org>.
>> You know that you need a compatible pdb file of that build to get
>> useful information of the stack data ? Most probably you need a
>> memory mapping table as well...
>
> I've no idea about Windows, never tried the crashrep there. In Linux at
> least it is not that hard to get something useful of the it.

With the deep call chains in some parts of our code and libraries that 
export only a small percentage of their symbols (especially the UNO 
libs) it can get quite tricky though.

Speaking of this I think it would be a good idea to provide for each 
binary release a package with additional debug info like the matching 
pdb files or unstripped libraries.

I'm too in favor of resurrecting the crash debug infrastructure in one 
way or the other.

Herbert

Re: How to enable crash log for AOO3.4?

Posted by Joost Andrae <Jo...@gmx.de>.
Hi,

hmmm...

If the crash reporter within your Linux AOO build has crashdump enabled 
then just

kill -SEGV the PID of the soffice.bin process

and have a look at the stack trace that is shown within the ErrorReport 
dialog and compare it with the stack trace within RedHat's Bugzilla. The 
difference makes the basic symbol data that is shown within the call 
stack. This makes the call stack more readable for a developer who needs 
to debug the application. Within Sun's ReportMail backend we were able 
to map the call stack data into code pointers with line numbers.

> I was thinking of something similar to what ABRT does on Fedora:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=708361
>
> That bug was submitted by the ABRT tool, it only prompts for the
> bugzilla user and password, plus the description of what you where doing
> when the error occurred. IMHO, the automatic bug submittion is useful
> besides the usefulness of the stack trace.

Kind regards, Joost


Re: How to enable crash log for AOO3.4?

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Joost,

On Tue, May 29, 2012 at 03:01:27PM +0200, Joost Andrae wrote:
> Hi,
> 
> the soap service shouldn't be that problem as it is documented here:
> http://wiki.services.openoffice.org/wiki/CrashReporting#How_does_the_Tool_work_internally.3F
> 
> The soap service uses the following header:
> 
>  public static String submitReport(SOAPContext soapContext,String
> body, Hashtable attachments )
> 
> The format of a crash report has been specified here:
> http://porting.openoffice.org/crashrep/errormail_xml.sxw


thanks for the information, very useful.

> >We should think about enabling the feature. May be we cannot bring the
> >SOAP service again, but we can:
> >
> >- use the default system mail client to send the crash report to
> >   ooo-private
> >- simply let the user save the crash report and send it manually
> >- automatically submit a bug if the user has a bugzilla account
> 
> You know that you need a compatible pdb file of that build to get
> useful information of the stack data ? Most probably you need a
> memory mapping table as well... 

I've no idea about Windows, never tried the crashrep there. In Linux at
least it is not that hard to get something useful of the it.

> Sending this via email might spam
> the email account...

I was thinking of something similar to what ABRT does on Fedora:

https://bugzilla.redhat.com/show_bug.cgi?id=708361 

That bug was submitted by the ABRT tool, it only prompts for the
bugzilla user and password, plus the description of what you where doing
when the error occurred. IMHO, the automatic bug submittion is useful
besides the usefulness of the stack trace.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: How to enable crash log for AOO3.4?

Posted by Joost Andrae <Jo...@gmx.de>.
Hi,

the soap service shouldn't be that problem as it is documented here:
http://wiki.services.openoffice.org/wiki/CrashReporting#How_does_the_Tool_work_internally.3F

The soap service uses the following header:

  public static String submitReport(SOAPContext soapContext,String body, 
Hashtable attachments )

The format of a crash report has been specified here:
http://porting.openoffice.org/crashrep/errormail_xml.sxw

> We should think about enabling the feature. May be we cannot bring the
> SOAP service again, but we can:
>
> - use the default system mail client to send the crash report to
>    ooo-private
> - simply let the user save the crash report and send it manually
> - automatically submit a bug if the user has a bugzilla account

You know that you need a compatible pdb file of that build to get useful 
information of the stack data ? Most probably you need a memory mapping 
table as well... Sending this via email might spam the email account...

Kind regards, Joost


Re: How to enable crash log for AOO3.4?

Posted by Ariel Constenla-Haile <ar...@apache.org>.
HI Joost,

On Tue, May 29, 2012 at 02:38:49PM +0200, Joost Andrae wrote:
> Hi,
> 
> the crash reporter doesn't seem to work anymore even if I add a
> dummy URL into the ErrorReportServer entry within the bootstrap.ini
> file. This must be a bug that needs to be fixed within the build
> environment.

It's because you are trying a Win or a MacOS build, they are not build
with the crashrep enabled; on Linux I build it enabled by default,
that's why the workaround works (and the OP built with it enabled, too).

We should think about enabling the feature. May be we cannot bring the
SOAP service again, but we can:

- use the default system mail client to send the crash report to
  ooo-private
- simply let the user save the crash report and send it manually
- automatically submit a bug if the user has a bugzilla account
- ...


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: How to enable crash log for AOO3.4?

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Graham,

On Tue, May 29, 2012 at 01:40:59PM +0100, Graham Wright wrote:
> I am off subject here 

yes, you are. You could have started a new thread.

> but what exactly are the improvements in
> OpenOffice 3.4 and 3.3?

http://www.openoffice.org/development/releases/3.4.0.html

> I have just downloaded it and I cannot see any improvements whatsoever!
> It's WORSE than 3.3 in fact! as no Standard English version is
> available! Only the localised US English version!

There is no British English (British) version because of missing Linux
packages.

You can find the Windows and MacOS packages here:
http://people.apache.org/~jsc/aoo34-rc/rc1/macos/
http://people.apache.org/~jsc/aoo34-rc/rc1/windows/
This files are the same as the current release.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: How to enable crash log for AOO3.4?

Posted by Graham Wright <gw...@hotmail.es>.
On 29/05/2012 13:38, Joost Andrae wrote:
> Hi,
>
> the crash reporter doesn't seem to work anymore even if I add a dummy 
> URL into the ErrorReportServer entry within the bootstrap.ini file. 
> This must be a bug that needs to be fixed within the build environment.
>
> Am 29.05.2012 14:26, schrieb Joost Andrae:
>> Hi,
>>
>> maybe it depends on the crash. For testing purpose the developer Hennes
>> Rohling (nick hro) once created the tool kill.exe which was part of the
>> tools project within OOo. This kill.exe allows you to sent the proper
>> signal to the soffice.bin (soffice.exe was just the starter process)
>> process on a Win32 platform. I once used it to check if the crash
>> reports generated were readable by the ReportMail database to allow
>> further automation of crash report data eg. to automatically create bug
>> reports in case there was a given amount of equal stack traces.
>>
>> Usage:
>>
>> kill -NULL soffice.bin
>>
>> kills the soffice.bin process to allow crashdump creation
>>
>> On Win32 the crash reporter generates a dmp file which can be read by
>> Microsoft's windbg application also known as "Debugging Tools for
>> Windows". On other platforms it creates an ASCII readable call stack
>> based on the system's backtrace function.
>>
>
> Kind regards, Joost
>
>
>
I am off subject here but what exactly are the improvements in 
OpenOffice 3.4 and 3.3?
I have just downloaded it and I cannot see any improvements whatsoever!
It's WORSE than 3.3 in fact! as no Standard English version is 
available! Only the localised US English version!
I have downloaded the Spanish language pack and I shall be using Open 
office in Spanish until the developers create a version in English.

Graham.

Re: How to enable crash log for AOO3.4?

Posted by Joost Andrae <Jo...@gmx.de>.
Hi,

the crash reporter doesn't seem to work anymore even if I add a dummy 
URL into the ErrorReportServer entry within the bootstrap.ini file. This 
must be a bug that needs to be fixed within the build environment.

Am 29.05.2012 14:26, schrieb Joost Andrae:
> Hi,
>
> maybe it depends on the crash. For testing purpose the developer Hennes
> Rohling (nick hro) once created the tool kill.exe which was part of the
> tools project within OOo. This kill.exe allows you to sent the proper
> signal to the soffice.bin (soffice.exe was just the starter process)
> process on a Win32 platform. I once used it to check if the crash
> reports generated were readable by the ReportMail database to allow
> further automation of crash report data eg. to automatically create bug
> reports in case there was a given amount of equal stack traces.
>
> Usage:
>
> kill -NULL soffice.bin
>
> kills the soffice.bin process to allow crashdump creation
>
> On Win32 the crash reporter generates a dmp file which can be read by
> Microsoft's windbg application also known as "Debugging Tools for
> Windows". On other platforms it creates an ASCII readable call stack
> based on the system's backtrace function.
>

Kind regards, Joost


Re: How to enable crash log for AOO3.4?

Posted by Joost Andrae <Jo...@gmx.de>.
Hi,

maybe it depends on the crash. For testing purpose the developer Hennes 
Rohling (nick hro) once created the tool kill.exe which was part of the 
tools project within OOo. This kill.exe allows you to sent the proper 
signal to the soffice.bin (soffice.exe was just the starter process) 
process on a Win32 platform. I once used it to check if the crash 
reports generated were readable by the ReportMail database to allow 
further automation of crash report data eg. to automatically create bug 
reports in case there was a given amount of equal stack traces.

Usage:

kill -NULL soffice.bin

kills the soffice.bin process to allow crashdump creation

On Win32 the crash reporter generates a dmp file which can be read by 
Microsoft's windbg application also known as "Debugging Tools for 
Windows". On other platforms it creates an ASCII readable call stack 
based on the system's backtrace function.


Am 29.05.2012 13:46, schrieb lin yuan:
> I did a build based on AOO 3.4 source code with "--enable-crashdump=yes"
> in configuration parameters on Windows 7 32bit.  When a crash happened, the
> auto recovery dialog will popup and the soffice.bin process also will be
> restarted. But still no crash log can be found in user directory.
> Is there any way to enable the crash log when launch soffice.exe?

Kind regards, Joost


Re: How to enable crash log for AOO3.4?

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Lin Yuan,

On Tue, May 29, 2012 at 07:46:38PM +0800, lin yuan wrote:
> I did a build based on AOO 3.4 source code with "--enable-crashdump=yes"
> in configuration parameters on Windows 7 32bit.  When a crash happened, the
> auto recovery dialog will popup and the soffice.bin process also will be
> restarted. But still no crash log can be found in user directory.
> Is there any way to enable the crash log when launch soffice.exe?

I didn't try on Windows, but looking at the sources
(crashrep/source/win32/soreport.cpp) it may be similar to Linux
http://s.apache.org/nRK

I add a dummy URL on bootstraprc (bootstrap.ini on Win)

ErrorReportServer=http://www.dummy.com/

On Win, if ( ReadBootstrapParams( Params ) && ... ) evaluates to false
because there is no error report server URL.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina