Caolan McNamara wrote:
So when OOo crashes, what are the strategies that distros employ here if
any ?
Sun has a SOAP receiving service for crash reports, a database to store
crashreports, a daemon service which tries to find similiar stacktrace
based on the information send in the XML file which works with a certain
fuzziness, a web frontend for development to look at the stuff stored in
the database and some automated process which generates tasks from crash
reports to developers in a Sun internal bugtracking system based on
frequency of crashes. The autosubmission of tasks and the web frontend
provide some means to resolve the data send with the crash report
against the debug information kept for released versions using platform
depend utilities, eg. kd.exe on windows addr2line on unix. The
autosubmission of tasks merly guesses on a potential developer which
could become the possible first owner based on applying random function
to the library owners of the first 5 stackframes, mostly such tasks get
reassigned by the first owner to a better one sometimes the one
initially getting the Task is already the right one. In the database
reports have their own reportid and similar ones are grouped together
under a common stackmatchid.
For RH we don't build the crashreporter (as it's basically unusable info
for Sun),
This is because Sun would not have the debug information created during
building those Releases which would be needed to 'resolv' the crash
report getting stackinformation with source code filenames, classes and
line numbers out of it. The information in the XML file is not enough
for the developer to locate the origin of the problem, it´s only enough
for checking possible similiarity.
but we do configure to enable using it, and replace it in the
install set with a simple replacement that tests for the set of common
problems that historically caused crashes, e.g. nvidia drivers, a11y
enabled, selinux settings and insane local library butchering, and
prompts the unfortunate user to log the supplied text to the RH
bugzilla, and we map the stack back to source with
http://people.redhat.com/caolanm/ooocvs/ooomapstack after throwing out
the nvidia driver using reports
This ooomapstack utility most likely will also need access to debug
information kept during the build, wouldn´t it?
At some stage in the past the ooobuild OOo would spawn off the gnome
gnome bug-buddy, but that's no longer the case is it ?
So do other distros have various solutions here, or just simply crash
out and/or dump core ?
What I'm thinking about aiming at is a shared cross-distro crash
repository where we can auto submit the distro OOo crashes, and the
distros can plug in their various stack mappers, with quick and dirty
gnomebugzilla-alike tooling to merge the duped backtraces together.
I see a few potential problems with that:
1.) Crash data does contain dump of memmory which in some cases might
contain personal information which end-users would not want others to be
able to find on public websites. There is stuff like
http://www.sun.com/privacy/ and I am quite sure others do have similar
terms to adhere to. Which means that anything we can create can not be
created in full public but must have limited access to restricted
group(s) of developers who agree on common terms of handling possible
private data in a secure manner.
2.) Who should host this repository? Or are you thinking about some kind
of distributed or partly distributed repository?
3.) Resources have to be available to call something like RH´s
ooomapstack utility or Sun´s crashdebug utility on all supported platforms.
4.) Resources have to be available to keep debug information for all
builds for doing 3.)
5.) 3.) + 4.) have to be on the same network meaning that either one
contributor would have to provide disk space and computing resources for
anyone else or that everyone has too keep it´s one debug-information and
provide computing resources for the community to 'resolv' crash reports
send in for their distributions.
6.) At least what we (Sun) currently use as 'StackMapping' (in terms of
grouping together similar reports) does often have false mapping in both
directions, that means that the system sometimes things 2 reports are
similiar but the developer later on finds out that they have a differnt
root cause and that also the system sometimes thinks two reports are not
similar but the developer later on finds out that they do in fact have
the same root cause. Considering our 'fuzzy'-algorithm that´s where I am
starting to wonder how that gnomebugzilla-alike tooling to merge the
duped backtraces together might look like! Handling does false positives
/ false negatives already has become a time consuming task which would
get worse with a larger repository containing data for all distros.
7.) With the amount of data that we (Sun) currently already have in the
database stackmatching already has become a resource hog. In a
distributed system which keeps information for ALL distributions it
would be even more complicated and time consuming to find matches. This
can soon get over the limit of where the matching service(s) can only
handle X incoming reports per hour and we will in fact get Y incoming
reports per hour with Y>X. We already nearly had such situation in the
past resulting in various new implementations of matching algorithm and
database design.
8.) I don´t understand the approach of everyone plugging in an own
stackmapper. Why would distro-A use Algorithm-A for guessing similarity
while distro-B would use Algorithm-B and how would than the overall
quality of things matched into the same stackmatchid look like regarding
false positives / false negatives? Or wait you did not talk about
grouping of reports together as one stackid but about resolving them
with something like RH's ooomapstack or Sun's crashdebug utility. Than
well yes, see 5) and we would need to have at least a common interface
eg. somewhere on a web application service for being able to call that
crash 'resolving' for any developer who got the access rights to analyse
crash reports.
>
> C.
>
Kind regards,
Bernd Eilers
Maintainer of Sun´s report handling backend infrastructure services and
corresponding developer web application.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]