Question

Everything compiles fine, but during run time, it crashes without any coredumps, exceptions or no logs clues about what is happening. After inserting debug lines, I found that it was around this section of code

       if( MISC_TABLE_ID != tableID )
       {
            OrbSchemaStructure orbSchemaStruct;
            orbSchemaStruct.tableName = tableView;
            orbSchemaStruct.columnName = colName;
            orbSchemaStruct.dataType   = tsFact->convertDBDataTypeToEVDataType( toString( col.type() ) );
            orbSchemaStruct.primaryKeyComponent = pkComponent;
            schemaStructureDeque.push_back( orbSchemaStruct );  //crashes after this line
        }

And it is happening on the last line of this block, where the push_back happens.

and the schemaStructureDeque happens to be an object of type DEQUE< OrbSchemaStructure >& schemaStructureDeque where DEQUE is a define for std::deque.

The OrbSchemaStructure is a struct defined in an idl as follows :

 struct OrbSchemaStructure
{
   string        tableName;
   string        columnName;
   unsigned long dataType;
   boolean       primaryKeyComponent;
};

Was there any change to the way deques are handled? Am I missing something?

Before writing this question off as too localized, please let me know if I am missing any info, or if I am not looking in the right place.

I am using omniORB 4.0.4 btw.

Was it helpful?

Solution

On compiling in the omniORB on AIX using the new AIX 11.1 C++ compiler, and linking it with the binary, it has stopped crashing.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top