Stopping application exception popup windows

Posted on 2007-11-16
Medium Priority
Last Modified: 2013-12-14
Hi all,

I have an annoying issue which I am trying to resolve.
I am part of development team who have developed a framework for our developers to use which allows easy access to a grid computing platform.

The issue is as part of the framework it calls out to a development team supplied DLL, which sometimes issues an unhandeled exception generating a popup windows application error message box

"The instructions at xxx referenced memory at yyy. The memory can not be read, click ok to terminate the program"

This in itself is not the problem I have the development team identifying where the issue is and are fixing it. The problem I have is that when this type of issue occurs there is an impact o the framework.

Here are the details of what the framework does.

It is all written in C++ using visual studio 8 and using BOOST for the socket and thread handling, running on "lights out" MS Server 2003 boxes.

The main daemon listens on a TCP port for an incoming request
When a conversation starts the Main daemon starts a thread and passes the conversation to it, and goes back to listening
The child thread receives the request, and based on data within the request loads a DLL which contains the functionality needed for the request type
Once the DLL is loaded the child thread calls a given function inside the DLL
If the called DLL fails with an application error generating a popup the thread never ends until the message box is closed, and given the "lights out" nature of the server is anoying to say the least.

Because of the design this does not cause an issue to the main service which will spawn other threads but of course I have the issue of having the failed threads staying resident and the client not getting a response until the popup is closed

Simple question is….

How can I stop the popups?
With the exception of the obvious of not having any errors in the called DLL (For which I don’t have control).
I can offer guidelines to the developers on how their projects should be compiled, I have control of the server and can also go some way in dictating development standards so any options around compile flags or registry settings are options which could be in scope.
Question by:OnyxBlackstone
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 49

Expert Comment

ID: 20310172
I have to be the first to point out the obvious...

I had a similar situation with a U/I-less app.  All I did was wrap a
exception handler around everything the DLL does.   It will only be called in the situations where the error is otherwise "unhandled" so it can take action appropriate for this unexpected situation (in my case, I performed a full "internal" shutdown and restart).  It should log the problem, of course -- providing as much info as possible for a post-mortem analysis.

Accepted Solution

OnyxBlackstone earned 0 total points
ID: 20311201
Hi Dan,

The try/catch was there and trapped correctly once the popup was answered.

We have now found the solutions and its and easy one.

We needed to re-compile with the following flag

LVL 49

Expert Comment

ID: 20311594
That relates to the compiler using the now-default synchronous exception-handling model for the compiled output code.

   /EH (Exception Handling Model)
   Exception Handling: Default Synchronous Exception Model

That is useful information to have in the EE database.  I suggest that you post to Community Support that you have answered this yourself.  That will keep this thread in the database.   See: http://www.experts-exchange.com/help.jsp#hi70


Expert Comment

ID: 20339045
Closed, 500 points refunded.
Community Support Moderator

Featured Post

Tutorial: Introduction to Managing a Linux Server

In this tutorial on systemd, we will explore:
-OS/Distro Adoption
-chkconfig and Other Legacy Commands
-Summary and Key Commands

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question