- Background Error Handling in CET
- How User Sees Different Kinds of Errors in CET
Background Error Handling in CET
In CET there is a background error reporting system that will catch many errors that cause CET to crash. Error reports are sent in and the user is informed about the error in different ways depending on what the error is.
- Are the errors reported to us even if the user doesn’t click “Report Error”?
Yes, all errors of the kinds described below are logged in and sent to us in the background. Other errors can be reported by the users by clicking Report Error as before.
- Can I report an error manually?
Yes, you will have the Report Error button for sending in a report, and the error dialogs also have this button if users wish to use it for contacting support.
How User Sees Different Kinds of Errors in CET
Example 1: Background Task Crashed
We see some crash reports where the crash was caused by a background task. The background tasks perform different types of maintenance like cleaning up files, validating 3D, downloading catalog data, etc. When one of these crashes, it appears as very random for the users as the crash is usually not caused by what they are actually doing with CET for the moment, but rather by what CET does by itself in the background (in its leisure time ?). Anyhow, they cause an interruption for the users by CET crashing. Also, they might not want to click “recover” and then save the drawing in fear of the file getting corrupted from the problem, as they don’t see what the crash was actually caused by. You instead get a notification message about a background task crashing. When clicking More info you get specific info about which task that crashed, and that the current drawing should not be affected.
Notify message: “A background task has crashed and was closed. Please save your work and restart CET when possible to avoid further problems”
When clicking “More info”. Here is an example where the "mouse float timer" caused the crash.
Example 2: 3D Crash (Single Occurrence/Infrequent Crash)
Sometimes there are infrequent 3D crashes caused either by a problem with the symbol/mesh/texture or by a condition occurring in the general 3D code. CET will attempt to silently rebuild the 3D graphics when this happens instead of showing the crash dialog. If it works, the effect will be just like if the user restarted CET to get rid of the problem – but without actually getting interrupted with the error dialog and having to restart (possibly losing work).
3D rebuilt silently, no error message for the user
Example 3: 3D Crash (Reoccurring/Frequent Crash)
If the crash continues to appear after trying to rebuild the 3D, it will show a notification saying “There are problems showing the graphics of this drawing”. The user can also click More info, and here’s a good part: if they don’t have the recommended graphics driver installed, it will say so in the error message. There is also a button Check Graphics Driver that will take you to that page in the control panel. So some of the more able users will hopefully try this themselves before contacting support, and might then be able to get it fixed right away.
As compared with how it is now where users usually have to contact support in order to get advice about updating driver (and in many cases these tickets are also forwarded to core developers to take a look at, but we usually just confirm that the driver should be updated spending time investigating the problem).
So this can hopefully save time for all of us. And most important, the user might be able to fix the issue immediately and get on with work without much stalling time.
Notification: “There are problems showing the graphics of this drawing”
When clicking More info (if the recommended driver not installed)
When clicking More info (if the recommended driver is installed)
Example 4: Crashing Snapper in Drawing
If there is a problem in the code for a snapper in the drawing (for example during the creation of its 3D model, or in the snap- or click-code) this causes current versions of CET to crash. In 6.0 the crashing snapper will instead be isolated in a red cross error box and a notify message is displayed. The rest of the drawing is not affected, and the user can select and delete the error box or attempt to restore the original snapper from it. If the restore is successful, the snapper will be reconnected as before and should be fine to continue working with (unless the same error occurs again of course).
If the snapper was in a strange state that caused it to crash, this might be enough to completely get it back on track. But if not, at least it doesn’t take CET and the rest of the drawing down with it when it crashes. Also if a specific action caused it to crash, the user may be able to work around it and continue working while the problem is being reported and handled by developers.
Notify message “Error occurred with one or more objects in the drawing.”
When clicking More info then clicking Attempt to restore -> snapper successfully restored!