Free Web-Based Exception Reporting 145
Tsar writes "Promethean Personal Software (makers of Sherpa, a code generating tool for db apps) have quietly released ExceptionCollection, a free (as in beer) online service for developers using any SOAP-enabled environment. You sign up on the site, download their component, add three or four lines of code to your app, and any exceptions thrown by your users get logged at ExceptionCollection.com for your later perusal (the last 100 anyway). There are several options, like whether reporting requires user approval. Is this as cool as it looks, or a solution in search of a problem?"
exceptions? don't use 'em (Score:5, Funny)
Real professionals like me, who graduated at the top of his class from Rockhurst College in Kansas City, a top college - pass return codes around rather than do all that exception baloney.
And it is some big time BALONEY.
Re:exceptions? don't use 'em (Score:5, Funny)
Re:exceptions? don't use 'em (Score:2)
I'm not a programmer, I'm just a lowly admin type, so don't abuse me. I'm not up on my programming techniques.
Re:exceptions? don't use 'em (Score:5, Insightful)
Examples:
1. Your code invokes a method on an object you didn't code, and it throws an exception. Wouldn't it be nice to know where the exception happened?
2. You made an unanticipated mistake! Your code throws a null pointer exception. Of course, if you are perfect, this never happens.
Re:exceptions? don't use 'em (Score:2, Insightful)
A more logical response to an exception than graceful handling is actual handling. If you run out of memory, what will you do? If you are receiving null pointers, how can you stop the sender from doing that? If your program is calling an unimplemented function, why isn't your linker catching it?
Exceptions are a way of making easily found bugs difficult to find. They move the instruction pointer far away from the actual error, and unroll the stackfra
Re:exceptions? don't use 'em (Score:2)
Does your compiler/linker also check databases and their structure? Does it perhaps check external db's far away from your control?
Do you like having dangling connections all over the place? No. I didn't think so.
Re:exceptions? don't use 'em (Score:1)
Re:exceptions? don't use 'em (Score:4, Funny)
(ducks and runs)
not in kansas (Score:1)
Re:exceptions? don't use 'em (Score:1)
Hmm (Score:5, Insightful)
Why don't you just add one more function to your SOAP server and have your exception handler connect to that?
Re:Hmm (Score:5, Insightful)
Either that or just register with the site, download a small package and add four lines of code to your program.
So this saves you a few hous work, but costs you confidentiality, full control over the exception database and injects non-free code into your software.
Overall, a pretty louse tradeof.
Re:Hmm (Score:5, Insightful)
Adding this functionality to your code means creating the database, designing an interface to recieve exceptions, an administrative interface to view reported exceptions, setting up a clientside exception handler and a piece of code for marshalling the expception to the server.
Or you could just write a top-level exception handler that e-mails the exception traces to you.
That's one option, but there are lots of other simple approaches that all start with "Catch the exception, put its text into a file and then...". Why complicate this with a database and a custom viewing interface?
Re:Hmm (Score:2, Interesting)
This is quite bad idea because you must have UI for setting up smtp, port (proxy?) username, password.... In the end, all most users would see when exception occures is "Unable to connect to SMTP sever x".
Re:Hmm (Score:3, Informative)
If you're running an actual local application, then you'll run into problems. But if you have clients that work in one area (say, a custom in-house application), then the exception reporting works beautifully. Its really quite a
Re:Hmm (Score:2)
Since you want it to report back to *you*, your SMTP server information would be in there, and no username/password would be required. Granted, this may fail in firewalled situations but given a large enough user base you should get enough reports from people who aren't firewalled that it won't matter sta
Re:Hmm (Score:2)
Volume and reporting. If your app is used enough, the volume is too great for email. It's nice to have some reporting features so that you can see troubled components or even troubled users.
Re:Hmm (Score:2)
Volume and reporting. If your app is used enough, the volume is too great for email.
This service only tracks the last 100 exceptions anyway.
Re:Hmm (Score:2)
So the code is full of lice then? Must be pretty buggy
Re:Hmm (Score:1)
Seriously, could they overkill exception logging to any greater degree? You want me to make a remote call to a 3rd party web service just so I can read my own exceptions??
Re:Hmm (Score:2)
Server down exception (Score:1)
Although I doubt that this will fly on an enterprise level project.
Re:Hmm (Score:1)
And what's a soap server anyway?
Because ... (Score:3, Insightful)
Re:Because ... (Score:1)
Re:Because ... (Score:2)
Hard to say knowing the USPTO
Re:Hmm (Score:3, Informative)
Re:Hmm (Score:2)
Why don't you just add one more function to your SOAP server and have your exception handler connect to that?
You see, these SOAP servers go to eleven.
It's a solution, but not a complete one (Score:2, Interesting)
The only problem is that it would be much more convenient if the exception were sent directly to the application makers instead of to some third party. Microsoft's error reporting system is somewhat like this, but I don't know anyone who actually sends in bug reports when an application crashes in XP. Likewise, Firefox used
Re:It's a solution, but not a complete one (Score:1)
> convenient if the exception were sent directly to
> the application makers instead of to some third
> party.
Exactly what I've done for one of my own software. This is REALLY wonderful. Each time the app crashes I (by default) receive an email with a copy to the local admin as configured by him.
Of course for privacy reasons, this is NOT activated by default. The admin MUST change the configuration file for the thing to be activated, and of course he
Re:It's a solution, but not a complete one (Score:5, Insightful)
There are several reasons for this... you almost never get any sort of reply, most users are practically incapable of writing a useful bug report (what were you doing, what did you click, etc.) and from what I see the majority of the information in an XP error report such as this is just some processor states and a few technical details.
I fail to see how anyone but a machine code professional would decode the XP reports, or how they would know what state the machine was in or why it crashed. The open-source project, OpenTTD, had this same feature for a while until it was scrapped when they realised that no-one could interpret the results or, if they could, it was far too complex, far too time-consuming and far too vague to the programmers.
I'm not saying you COULDN'T make the debug reports much better but then you're basically building every executable in a debug state, i.e. massively bloated and not as good performing, even if you go the highly-manual route and go through the code putting in printf's for each procedure entrance.
Bug reports are invaluable to a programmer but they need to be the right type. Spending 7 hours to trace the machine code route through a hex dump to find that someone was running it on a machine with a corrupt DLL is a massive waste of resources.
Getting experienced beta- and alpha- testers to submit a detailed, reproducible, bug where you can actually ask them to try patches out for you is amillion times more useful
Re:It's a solution, but not a complete one (Score:5, Informative)
Re:It's a solution, but not a complete one (Score:5, Informative)
One day out of sheer desparation I decided to send the report off to Microsoft and to my surprise it came back with a link to a support website giving very obscure step by step instructions which magically resolved my problem.
I don't often get exceptions in windows where I'm at a loss for an explanation as to the cause, but in future when I do I'll definitely be posting them to Microsoft.
Re:It's a solution, but not a complete one (Score:2)
Re:It's a solution, but not a complete one (Score:2)
Even a simple stack trace can be very useful, even from non-debug binaries. You don't need the symbol information in the distributed binary. The address->symbol map you can keep at home and merge it after the trac
Re:It's a solution, but not a complete one (Score:1)
Re:It's a solution, but not a complete one (Score:2)
Re:It's a solution, but not a complete one (Score:1)
For talkback or Win32 minidump you don't need to build debug either. You just build with symbols in a release mode and then strip off the symbols before you ship. Save those sy
Re:It's a solution, but not a complete one (Score:1)
Re:It's a solution, but not a complete one (Score:1)
It's a nice idea actually - the minidump contains a stackframe, version info and the exception code, and it's probably pretty easy to write a script to spot known errors if you have that.
The really slick thing is that the machine didn't crash - it switched back to the VGA driver in 640x480x16 colour and displayed a dialog box telling me to save. Then I shut down and it contac
[sarcasm]what a great idea![/sarcasm] (Score:5, Insightful)
I wonder what they do with their exceptions.
Re:[sarcasm]what a great idea![/sarcasm] (Score:2, Funny)
Re:[sarcasm]what a great idea![/sarcasm] (Score:4, Funny)
Sounds like a marketing tool to me... (Score:1, Troll)
We at Promethean Personal Software promise to never share your email address with another organization, but we reserve the right to send you one piece of email ("spam") about our products per week. You can opt out of the service at any time.
Sounds like I have to "pay" via annoying emails about products... Also, I'm not sure what the advantage is here over a normal bug tracking system. Automatic recording of the Exception message? Blah...
ouch... (Score:1)
Only 100 exceptions? (Score:5, Insightful)
Re:Only 100 exceptions? (Score:2)
Re:Only 100 exceptions? (Score:3, Informative)
More realistically, even if just 0.1% of those 5 million hits throw an exception, you're looking at 5000 exceptions. That's 50 times the number of exceptions this site will list. A whole lot of data is being lost.
Re:Only 100 exceptions? (Score:1)
Bob
Re:Only 100 exceptions? (Score:2)
If there are a certain exception is thrown perhaps 4500 times out of the 5000 exceptions, then perhaps that's the problem to deal with first.
Likewise, it may provide useful to know if a recent change is causing problems that weren't caught by the existing testing procedure. Knowing of such problems would allow the testing procedure to be fixed, as well as the code.
Re:Only 100 exceptions? (Score:2, Insightful)
Re:Only 100 exceptions? (Score:2)
But, chances are that if you're getting ANY exception on an enterprise web app, its going to be the same one over and over anyways.
Re:Only 100 exceptions? (Score:2, Funny)
Re:Only 100 exceptions? (Score:2, Insightful)
Re:Only 100 exceptions? (Score:2)
a) Are not in a position to have their own database getting this information.
or
b) Believe that they can get useful information out of the last 100 exceptions.
Re:Only 100 exceptions? (Score:2)
Re:Only 100 exceptions? (Score:5, Funny)
Trust me.
Great for spyware (Score:3, Interesting)
2. Throw an "exception" containing said data.
3. Automatically harvest the data from ExceptionCollection.com.
4. Profit.
I wonder if these people have thought about the insecure/immoral/illegal ways this service could be used and have taken steps to prevent that.
Re:Great for spyware (Score:1)
A better solution (Score:5, Informative)
This application [codeproject.com] is better in that it collects all the relevant information into a zip file (including a stack dump), and helps the user to e-mail it to you. It works in C/C++ (Windows only) and doesn't require any third party involvement.
We use it in a deployed product and it works very well.
john
Thanks, but.... (Score:3, Insightful)
Re:Thanks, but.... (Score:1)
similar to BugzScout in FogBugz (Score:2, Informative)
whatever happened to.... (Score:4, Interesting)
also, is this mechanism asynchronous ? coz synchronous would mean a lot of latency added to that particular thread, since things are now getting reported to some remote portal.
IMHO, its just another wasteful use of web services. just coz its the fashionable term these days doesn't mean it should be used for all purposes.
web services for exception reporting.....aarrgghhhh !!!
Log file & safety (Score:3, Insightful)
Re:Log file & safety (Score:3, Interesting)
Plus logfiles can be analyzed too, enough handy tools around for that too (I use vi).
You have a magical version of 'vi' that penetrates the user's firewall, reads their logfiles over the Internet and reports back?
Re:whatever happened to.... (Score:2)
old style logging. why not just log the exception to a file (as its usually done), and mail it to the programmers at a regular interval. why waste so much of bandwidth, especially in the case where things go horribly wrong and exceptions are thrown just about everywhere.
Having an app that has nothing to do with e-mail start sending out e-mail is a faux pas. How does it even do it? Does it ask the user for mail preferences? Does it sniff around for an SMTP host? Does it just blast stuff out and run into a
Re:whatever happened to.... (Score:3, Informative)
Re:whatever happened to.... (Score:2)
Re:whatever happened to.... (Score:1)
The understanding is that you have some control over your own web installation.
Of course dealing with an end user client installation the rules are a little different, but thats not even part of the discussion here.
Re:whatever happened to.... (Score:1)
Sorry, i just RTFA, and your right, it deals with clientside environments as well.
Re:whatever happened to.... (Score:2)
If there are no privacy concerns you just mail the respective exception info to somewhere as described above (sending email from any kind of app should be easy in all current programming environments), and if you want to be nice and want to inform the us
Great, but have to be careful (Score:4, Insightful)
The key thing to be concerned about (as others have observed) is that any messages sent must be sufficiently generic so as not to give away vital information to the outside world.
When I published my stats, I used abbreviations that only I understood followed by percentages. That's it. If someone else saw it, they wouldn't understand it, and, even if they did, it was just non-vital aggregate information that wouldn't do them any good anyway.
This is the maximum level that such exception reporting could (wisely) rise to, and, as such, would be of limited value. I know from my own experience at large companies that log/exception output tends to contain things like userIDs, passwords, and server names, which could easily find itself passed along through these folks' API.
For this reason, it seems like a good service if installed internally, but a bad idea beyond proof of concept for anything larger than a mom-and-pop, where a single programmer knows and understands the whole system and can send sufficiently vague exceptions.
What are they really doing here? (Score:2)
Sensitve Info In Exception Information? (Score:3, Insightful)
Why you would, I don't know. But still.
Pete
solution vs problem? (Score:3, Funny)
Or? What kind of nerd ARE you?! Duh, it's BOTH!
In fact, a good case could be made that it looks so damn cool BECAUSE it is a solution in search of a problem!
Re:solution vs problem? (Score:2)
One obvious problem (Score:2)
Suppose you fix a bug and release a new version. It will be some time before many people have switched to the new version and so you will, in the meantime, continue to get the same bug reports for a bug you've already exterminated.
The clear result is that of the latest 100 bug reports received, most will likely be completely useless.
Re:One obvious problem (Score:2)
Re:One obvious problem (Score:2)
It would be much better to filter out the prior versions first.
Beta debugging (Score:1)
Although this thing isn't vastly developed, I think we are going to see a lot more services available to developers to help them better integrate
An exception has occured (Score:3, Funny)
at com.example.util.BaseExceptionHandler() Line 450
Root Cause:
OutOfMemoryError: Out of memory during exception construction
at Exception() Line 5
Root Cause:
IOException: Could not connect to exceptionollection.com
at com.ExceptionCollection.reportException() Line 127
Root Cause:
ApplicationException: HelloWorld program is too simple
at com.example.webapp.HelloWorld.print() Line 907
Java? (Score:1)
I lack to see anything apart from
For
?!. Not even
Patent Pending !? (Score:1)
good for hosting (Score:1)
More bloody accounting (Score:1)
If I'm going to keep a log of my exception, I'll do it for >100 exception and log these locally in a format which I can write a script to analyse and clear out, running in my own dev environment. I don't want my code to break when their soap daemon di
Windows error reporting... (Score:1)
Prior Coolness (Score:2)
Exceptions? (Score:2, Funny)
hah.
so there.
at java.util.zip.InflaterInputStream.fill(InflaterInp utStream.java:215)
at java.util.zip.InflaterInputStream.read(InflaterInp utStream.java:134)
at java.util.zip.ZipInputStream.read(ZipInputStream.j ava:139)
answer (Score:1)
Looks more like a free advertisement.
Dr. Watson? (Score:2)
MS seems to be first by quite a ways on this one.
Re:Perhaps they should fix their site's HTML first (Score:2)
They do, of course, have a more standards-compliant webpage than the PHP Nuke webpage (124 errors [w3.org]) or the Drupal webpage (7 errors [w3.org]).
Re:Perhaps they should fix their site's HTML first (Score:2)
Any company in the software business should be capable of creating standards-compliant webpages for their products. It's not difficult to do, especially when verification services are available for free. It then becomes more a matter of care. Do they care enough to write quality code, be it their software product or
GET DOWNSTAIRS AND WASH MUMS CAR ! (Score:2, Funny)
if you are going to take the day off school you can start by helping your mum
Re:Hate fucking hate .rar files! (Score:1, Offtopic)
Re:Hate fucking hate .rar files! (Score:1)
Re:Hate fucking hate .rar files! (Score:2)
Re:Hate fucking hate .rar files! (Score:1)
Hmm. Do you think that we're at risk of becoming suicide bz2'ers?
Re:Hate fucking hate .rar files! (Score:2)
Re: (Score:2)
Moron