I agree it makes sense for a end user debug version to send info back to us and and a developer debug version wouldn't do that. Perhaps we could have a a single debug version with a developer command line flag, or a launcher that specifies an end user flag.

In past projects I turned asserts and crashes into automated reports and it was amazing how much I learned from those reports. Most of the problems that weren't found during "in house" testing were related to OS configuration differences between machines. Also, asserts found many more problems than crashes -- perhaps because crashes were rarer. It was not unusual to add extra debugging code to narrow down rare, non reproducable problems, and have the info sent back identify the source of the bug.

John

Alec Flett wrote:
The "talkback" feature that heikki describes is more of an end-user feature. Typically used to allow developers to track crashes of their application out in the wild, it sends a stack trace to a central server on a crash.. (with permission of the user, sometimes even with comments that included the steps required to make the crash happen)

The stack trace gets aggregated with other similar stack traces on the server. Then we, as the developers, can look at the data on this server, and look at a "top crash" report to see what crashes are seen most often in the real world, with real users..

In our case, I think heikki is saying that for end users, if we get an exception at the top level, where developers would normally see a dialog box with all sorts of ugly code, end-users should see a user-friendly error message recommending the user quits & restarts chandler. Someday it would be nice if the stack trace were sent back to OSAF to be combined with others so we could see a "top exception" report and fix such errors.

Obviously, developers want the actual stack trace  of the exception (an assert being just one kind of exception) and the exception would NOT be sent to a central talkback server, since developers are constantly throwing exceptions during day-to-day debugging :)

Alec

John Anderson wrote:
I like the talkback feature and have used it in the past. However, I perfer using it in the debug version since it gives you feedback about asserts as well as crashes. I've found as many rare failures in asserts as crashes using the talkback technique -- and Python errors are often ignored instead of causing crashes like C++ programs. So I'd vote for making the debug version available for customers as an optional install and providing talkback for all errors.

John

Heikki Toivonen wrote:
Maybe you meant this message to go to dev? You sent to me only, which is
why I am replying in private. Feel free to forward/reply to dev.

  
My personal bias is to avoid the bug by having good testing rather than
writing code to report bugs to users, expecially because there are so
many possible bugs.

I'd rather leave this in the debug version and have some of our "power"
customers using the debug version.
    

My point is that we can never find all the bugs in testing. Like you
said, "there are so many possible bugs". For example, suppose a bug
shows up in 1 instance of every 1,000 Chandler installation. We'd be
extremely lucky to have enough "power" customers to uncover that. On the
other hand, if we had 10,000 or more users, the likelihood that someone
will run into it is getting significant and if we make it easy to report
it is a pretty good chance we can act on it.

Also, silently ignoring exceptions is potentially really, really bad.
(It is likely a program written in some compiled language would have
even crashed. And even in our case some users will run into bugs where
they crash the whole application.) We should give the user some kind of
indication that a problem we didn't anticipate cropped up and give them
a chance to do something about it, rather than hiding it under the covers.

And suppose we did hide the problem. It is likely that at some point in
the future the users start experiencing weird, very noticeable problems.
But if they report those problems to us, we will have a very difficult
time finding out what is causing them. If we fix those symptoms, the
original bug could still go unfixed.

Mozilla has had huge improvements in stability from the Talkback crash
reporting tool. I can remember many cases where the developers were
unable to reproduce a bug, but thousands of people were experiencing it.
The only way the bugs were found and verified to be fixed was by using
Talkback. It is an optional install, and it is optional to send the
crash reports.

  

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Open Source Applications Foundation "Dev" mailing list http://lists.osafoundation.org/mailman/listinfo/dev

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to