Archived

This forum has been archived. Please start a new discussion on GitHub.

Circular includes cause abnormal termination since slice generators

slice executables terminate on circular includes. The fix is easy on the user side, but thought you might like to know since preprocessing files are left hanging around.
josh@mac:/tmp/NullHandle$ slice2py -I. Metadata.ice 
/private/tmp/NullHandle/API.ice:19: `omero::metadata::TagSetContainerList' is not defined
terminate called after throwing an instance of 'IceUtil::NullHandleException'
  what():  ../../include/IceUtil/Handle.h:46: IceUtil::NullHandleException
Abort trap
josh@mac:/tmp/NullHandle$ cat Metadata.ice 
#ifndef OMERO_METADATA_ICE
#define OMERO_METADATA_ICE
#include <API.ice>
module omero {
  module metadata {
    sequence<string> TagSetContainerList;
  };
};
#endif
josh@mac:/tmp/NullHandle$ cat API.ice 
#ifndef OMERO_API_ICE
#define OMERO_API_ICE
#include <Metadata.ice>
module omero {
    module api {
        ["ami", "amd"] interface IMetadata
        {
            idempotent omero::metadata::TagSetContainerList loadTagSets(long id, bool withObjects);
        };
    };
};
#endif

Comments

  • benoit
    benoit Rennes, France
    Hi Josh,

    Thanks for the bug report, this will be fixed for the next release.

    Cheers,
    Benoit.
  • Short update: we're also seeing segfaults on OS X 10.5 with slice2html 3.3.1, and are trying to isolate the problem. ~J.