Frank Wein wrote:
Hi,
Hi there!
i have a question regarding the Crash Reporter (i think this fits better
here than on the users list): How does it work? I found
http://ooo.ximian.com/lxr/source/porting/crashrep/source/ which seems to
be the client source for it, right? Now i found some example crash
reports, for example
http://www.oooforum.org/forum/viewtopic.phtml?p=81013&sid=7f6fb44658a485c1aca309fab6f9f397#81013.
Now how do you get a complete stacktrace out of it (with function
names, etc.), does it do this with the help of a server? If yes, is this
server open-source or is that closed source?
The client code you�ve found sends a SOAP request to a server
collectiong reports. The server can be configured in the bootstrap.ini
file and the default for OOo is http://report.services.openoffice.org,
that�s where SUN is collecting OpenOffice.org crash reports.
There is no public access to data collected by that server due to
privacy concerns and the code on the server side has not been open sourced.
In the concrete case ( Sun�s OpenOffice.org crash report handling
service ) the Receiving SOAP Service at
http://report.services.openoffice.org is just a small apache SOAP
service with the signature
public static String submitReport(SOAPContext soapContext,
String body, Hashtable attachments )
which sends the report by mail to a next instance service which than
stores the report into a database. Than there is a third service using 2
processes on differnt hosts involved which tries to find similarities
between stacks stored in the database based on the information
originally send in the reportmail.xml document, this than groups similar
stacks together and assigns one StackMatchID in the database, here there
is some kind of well almost "fuzzy logic" involved in detecting
similarity and there can be false positives while doing that and also
sometimes the same problem root cause might lead to serveral
StackMatchIds. Sun developers have an internal (also closed source) web
frontend to access the crash report database and some commandline tools
are also available to Sun developers. We also do some statistical
analysis of the data collected in order to find highscorers that need
more urgent fixing for example. That complexity is only needed because
of the large amount of data generated by the standard OOo distribution
and by StarOffice. For smaller OOo based distributions one could think
of much simpler szenarios on the server side.
Back to the question "Now how do you get a complete stacktrace out of it
(with function> names, etc.)?"
Here it is important to see that the client sends more than just the XML
file you�ve mentioned. On Windows a binary user.dmp Windows Dump File
and on Unix a stack.txt file containing additional stacktrace
information is also send. From the information in the XML File alone you
can�t get to function names. To get this type of information we have an
additional tool which needs full access to a directory where the
corresponding OOo has been compiled. On Windows this calls the debugger
kd.exe with the binary user.dmp attachment and on unix it calls
addr2line with information collected from the XML document. If I
remember correctly we needed a specially patched addr2line in order to
get this to work with OOo binaries on Solaris.
Related Links:
http://porting.openoffice.org/files/documents/14/1154/crash_report_generator_ui_specification_ooo.sxw
http://porting.openoffice.org/crashrep/errormail_xml.sxw
Greetings
Frank
Kind Regards,
Bernd Eilers
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]