[tao-users] Exceptions from TAO not being caught

Heyman, R Gary r.gary.heyman at lmco.com
Mon Nov 2 13:36:49 CST 2020


Sending my question here because when I try to send to tao-bugs at list.isis.vanderbilt.equ<mailto:tao-bugs at list.isis.vanderbilt.equ>, (as per the instructions) it gets returned shortly with "This is a moderated mailing list".


    TAO VERSION: 2.5.0
    ACE VERSION: 6.5.0

    HOST MACHINE and OPERATING SYSTEM:
         SPARC-S7-2L
        uname -X:
           System = SunOS
           Release = 5.11
           KernelID = 11.3
           Machine = sun4v
           OEM# = 0
           Origin# = 1
           NumCPU = 128

    TARGET MACHINE and OPERATING SYSTEM, if different from HOST:

    COMPILER NAME AND VERSION (AND PATCHLEVEL):
        CC: Studio 12.6 Sun C++ 5.15 SunOS_sparc 2017/05/30

    THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
    specific file, simply state which one]:

        // disable include of Cstd/stdcomp.h
        #define _STLPORT_VERSION 1
        // ace/Array_Map.h - use std allocator
        #define _RWSTD_ALLOCATOR 1
        #include <ace/config-sunos5.11.h>
        #define _REENTERANT 1

    THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
    use a link to a platform-specific file, simply state which one
    (unless this isn't used in this case, e.g., with Microsoft Visual
    C++)]:
        debug=1
        exceptions=1
        optimize=0
        rt_corba=1
        corba_messaging=1
        TAO_LACKS_EVENT_CHANNEL_ANY = 1
        TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE = 1
        TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS = 1
        CCFLAGS := -std=c++14 -i
        include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU
        # remove the default '-library' flag added by ACE
        CCFLAGS := $(patsubst -library=$(CC_LIBRARY),,$(CCFLAGS))
        LDFLAGS := $(patsubst -library=$(CC_LIBRARY),,$(LDFLAGS))

    CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
    (used by MPC when you generate your own makefiles):
        We don't have this file

    AREA/CLASS/EXAMPLE AFFECTED: -

    DOES THE PROBLEM AFFECT:
        COMPILATION?  No
        LINKING?  No
        EXECUTION?  Yes
        OTHER (please specify)?

    SYNOPSIS:
Running on Solaris, exceptions thrown from TAO code are not caught, and
program execution terminates.

    DESCRIPTION:
On Solaris, as soon as we started compiling with -std=c++14, exceptions thrown
from TAO cause program termination.  Exceptions thrown from TAO are not caught
as they were prior to using -std=c++14.

Notes:
Exceptions thrown in functions before calling TAO functions work as expected.

I added an catch block in the TAO function that throws an exception, and the
program still terminates.

If we compile without using -std=c++14, TAO throw exceptions work as expected,
this builds as __cplusplus = 199711.

We see the same TAO exception error if we build and run the TAO supplied
program(s) in TAO/examples/Simple/bank on Solaris.

On Linux, using g++ (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3), compiled with
-std=c++14, TAO thrown exceptions work as expected, using the same TAO version
as Solaris, and using the same build command(s) the for ACE TAO code.

On Solaris and Linux, we are building 32-bit executables.

    REPEAT BY:
Just running our program that is using TAO code.

    SAMPLE FIX/WORKAROUND:
None.





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/tao-users/attachments/20201102/86a32555/attachment.html>


More information about the tao-users mailing list