Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-8175

C++ exceptions not propagated to Python in PyROOT on MacOSX 10.11

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.08/00, 6.10/00
    • Component/s: None
    • Labels:
      None
    • Environment:

      ROOT HEAD on macosx 10.11

    • Development:

      Description

      Hi, it seems that C++ exceptions are not propagated to Python in PyROOT on MacOSX 10.11. The result is similar to the infamous segfaults/aborts we were getting also on Linux before th emove to ORCJIT. I checked that ROOT HEAD on Linux is ok.

      Simple reproducers using COOL (I may eventually try to develop reproducers outside COOL if you think it is necessary)

      [avalassi@macitois17 tcsh #] ~ % /ec/build/workspace/lcg_experimental/BUILDTYPE/Release/COMPILER/native/LABEL/mac1011/install/COOL/3_1-patches/x86_64-mac1011-clang70-opt/cc-sh
      [avalassi@macitois17 bash] ~ > unset CORAL_DBLOOKUP_PATH
      [avalassi@macitois17 bash] ~ > python
      Python 2.7.10 (default, May 11 2016, 08:46:31) 
      [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.1.76)] on darwin
      Type "help", "copyright", "credits" or "license" for more information.
      >>> from PyCool import cool
      >>> dbSvc = cool.DatabaseSvcFactory.databaseService()
      >>> connectString="COOL-MySQL-xxxxxxxx/TEST"
      >>> dbSvc.dropDatabase(connectString)
      CORAL/Services/XMLLookupService      Error    Could not open "dblookup.xml" for reading
      libc++abi.dylib: terminating with uncaught exception of type coral::ReplicaNotAvailableException: No physical Update connection for "COOL-MySQL-xxxxxxxx" is available. ( CORAL : "ReplicaCatalogue::replicasForConnection" from "CORAL/Services/ConnectionService" )
      Abort trap: 6
       
      [avalassi@aicoral61 tcsh] ~ $ /afs/cern.ch/sw/lcg/app/nightlies/dev3/Wed/COOL/3_1-patches/x86_64-slc6-gcc48-opt/cc-sh
      [avalassi@aicoral61 bash] ~ > unset CORAL_DBLOOKUP_PATH
      [avalassi@aicoral61 bash] ~ > python
      Python 2.7.10 (default, May 11 2016, 04:41:09) 
      [GCC 4.8.4] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>> from PyCool import cool
      >>> dbSvc = cool.DatabaseSvcFactory.databaseService()
      >>> connectString="COOL-MySQL-xxxxxxxx/TEST"
      >>> dbSvc.dropDatabase(connectString)
      CORAL/Services/XMLLookupService      Error    Could not open "dblookup.xml" for reading
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      Exception: bool cool::IDatabaseSvc::dropDatabase(const string& dbId) =>
          No physical Update connection for "COOL-MySQL-xxxxxxxx" is available. ( CORAL : "ReplicaCatalogue::replicasForConnection" from "CORAL/Services/ConnectionService" ) (C++ exception of type coral::ReplicaNotAvailableException)
      >>> 

      Thanks
      Andrea

        Attachments

          Activity

            People

            Assignee:
            axel Axel Naumann
            Reporter:
            valassi Andrea Valassi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: