Crash in 5.0 beta ram only mode

Ruslan Zasukhin ruslan_zasukhin at valentina-db.com
Thu Jun 21 14:19:02 CDT 2012


On 6/19/12 8:10 PM, "Chris Jones" <cjones at daz3d.com> wrote:

> Hi,
> 
> I am attempting the 5.0 beta of the vsdk, when I'm working normally (talking
> to a server) it seems to be working, but when I activate a ram only mode I get
> a bad table pointer back.  So I have a simple Boost test that looks like the
> following:
> 
> 
> BOOST_AUTO_TEST_CASE( TestTablesCreated )
> {
> I_Database_Ptr valDB = s_db->getVDatabase();
> BOOST_REQUIRE( valDB.IsNotNull() );
> 
> BOOST_REQUIRE_EQUAL(valDB->get_TableCount(),18);
> IDzDBObjectList list = s_db->getRegisteredObjects();
> IDzDBObjectIterator iter(list);;
> while(iter.hasNext())
> {
> IDzDBObject* curObj = iter.next();
> QString tableName = curObj->getTableName();
> I_Table_Ptr tab = valDB->get_Table( toString(tableName) );
> BOOST_REQUIRE(tab);
> 
> QVector<DzTableField*> fields = curObj->getColumnInfo();
> BOOST_REQUIRE_EQUAL(fields.count(),tab->get_FieldCount());
> BOOST_REQUIRE_EQUAL(fields.count(),fields.capacity());
> }
> }
> 
> The db is valid.  The table count is correct. The toString() is a simple
> conversion function to Valentina's string which I use elsewhere with no
> issues.  However the return value that gets returned from get_Table is not
> NULL its an invalid pointer.

We talking about MAC OS here?

If yes, you should have crash log on hands.

Also make sure that you have EXACTLY this order of calls:
    Valentina.Init()
    Valentina.InitClient()

If you use BOTH:   VKERNEL + VCLIENT, then vkernel must be inted first,
To force usage of ICU library.

Otherwise will be not predicted results for strings in vkernel


-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]




More information about the Valentina mailing list