Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.

Public Report
Report From: Kylix/RTL/C++    [ Add a report in this area ]  
Report #:  11361   Status: Reported
problem with exception handling in a shared library
Project:  Kylix Build #:  4.186
Version:    3.0 Submitted By:   Iskander verkroost
Report Type:  Basic functionality failure Date Reported:  3/14/2005 8:08:41 AM
Severity:    Critical / Show Stopper Last Updated: 3/14/2005 8:10:54 AM
Platform:    Kylix C++ IDE Internal Tracking #:  
Resolution: None  Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
I found this problem creating a shared library which exports a class.
When this class raises an exception through throw everything looks
fine. However when you try to handle the exception within the
shared library the application using it ends in a "segmentation fault"



// this constructor ends the application using it with a segmenation fault
TIzzy::TIzzy()
{
  try
   {
      throw( Exception("from TIzzy::TIzzy()...") );
   }
  catch(Exception &e)
  {
      printf("handled?\n");
  }
  printf("TIzzy::TIzzy() this %X\n",this);
}


// this constructor raises an exception which is correctly
// handled by the aplication.
TIzzy::TIzzy()
{
  printf("TIzzy::TIzzy() this %X\n",this);
  throw Exception("from TIzzy::TIzzy()...");
}

Steps to Reproduce:
step to reproduce

1. make libsotest with exception handled (see comments)
2. make SoConsoleApp
3. run SoConsoleApp, see segmentation fault
4. make libsotest without exception handled (see comments)
5. run SoConsoleApp, see exception being handled
Workarounds
None
Attachment
library_exception_handling.zip
Comments

None

Server Response from: ETNACODE01