Project

General

Profile

Bug #799

Error handler produces useless output - sometimes

Added by Rogers, Chris almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
common_cpp
Target version:
Start date:
15 November 2011
Due date:
% Done:

100%

Estimated time:
Workflow:

Description

Sometimes error handler produces an error message like "st9exception" instead of proper error message. It seems to be compiler dependent.

I think it's something horrid like the symbol for Squeal is different in e.g. _MapCppSimulation.so and libMausCpp.so - some compiler versions fail to resolve them as the same object and so they ignore the Squeal in the catch(). Instead they see the base class (std::exception) and catch that. Then the loop entered is CppErrorHandler::HandleStdExc

The other thing I notice is that the call signature for the std::exception stuff in CppErrorHandler is for a reference to std::exception or a copy of Squeal. Not sure if that can have an effect. Evil thing is that this is compiler dependent... so first need to replicate the bug.

#1

Updated by Rogers, Chris almost 10 years ago

Durga - SLF 5.5 gcc 4.1.2

#2

Updated by Karadzhov, Yordan almost 10 years ago

Yordan - gcc version 4.6.1 20110908 (Red Hat 4.6.1-9) (GCC)

#3

Updated by Rogers, Chris almost 10 years ago

Humm, not compiler version probably then...

#4

Updated by Rogers, Chris almost 10 years ago

Fix is to pass-by-reference to catch - then at least the what() of the child class is called by the error handler, so will give a sensible error message.

#5

Updated by Rogers, Chris almost 10 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
#6

Updated by Rogers, Chris almost 10 years ago

  • Target version changed from Future MAUS release to MAUS-v0.1.0

Also available in: Atom PDF