Crash on AddRecord

Ivan Smahin ivan_smahin at paradigmasoft.com
Sat Apr 21 04:54:59 CDT 2012


Can you send this db for testing?

On Apr 21, 2012, at 12:52 PM, Francois Van Lerberghe wrote:

> Mmmh, I've talk too fast.
> 
> With V4RB v4.8.1, no more crash 
> replacing the LOCATE() function with some IF().
> 
> With V4RB v4.9.1 or v4.9, the crash is always there, 
> on the very same record. This is the crash log :
> 
> 0   libvkernel_fat_release.dylib      0x1917d7ee fbl::vu_strcoll_uu_icu(unsigned short const*, int, unsigned short const*, int, fbl::I_Collator*) + 130
> 1   libvkernel_fat_release.dylib      0x190b6d54 fbl::ENode_Pred_Equal_Str::long_val(unsigned int) + 228
> 2   libvkernel_fat_release.dylib      0x190b6104 fbl::ENode_Pred_CmpOp::llong_val(unsigned int) + 24
> 3   libvkernel_fat_release.dylib      0x190a4d07 fbl::ENode_Func_If::llong_val(unsigned int) + 31
> 4   libvkernel_fat_release.dylib      0x1916f105 fbl::AssignToValue(fbl::smart_ptr<fbl::I_Value>, fbl::smart_ptr<fbl::I_ENode>, unsigned int) + 191
> 5   libvkernel_fat_release.dylib      0x19056703 fbl::Method_SQL::Evaluate(unsigned int, fbl::smart_ptr<fbl::I_Value>) + 221
> 6   libvkernel_fat_release.dylib      0x19117a71 fbl::policyMethodYes::DoMethod(fbl::FldStorage*, unsigned int, fbl::I_Value*) + 95
> 7   libvkernel_fat_release.dylib      0x194007fc fbl::FldStorageMaster_T<fbl::policyFileNo, fbl::policyNullNo, fbl::policyMethodYes>::ReadValue(unsigned int, fbl::smart_ptr<fbl::I_Value>) + 62
> 8   libvkernel_fat_release.dylib      0x190f4372 fbl::Field_Imp::ReadValue(unsigned int) + 60
> 9   libvkernel_fat_release.dylib      0x1913fdb7 fbl::Table::ReEvaluateAllMethods(unsigned int) + 101
> 10  libvkernel_fat_release.dylib      0x1913fe8c fbl::Table::AddRecord_WithOut_Triggers_ex() + 156
> 11  libvkernel_fat_release.dylib      0x1913f101 fbl::Table::AddRecord_WithOut_OnEachStatement_Triggers_ex() + 187
> 12  libvkernel_fat_release.dylib      0x1913f304 fbl::Table::AddRecord() + 478
> 13  libvkernel_fat_release.dylib      0x19148b0b fbl::Table_Indirect::AddRecord() + 229
> 14  libvkernel_fat_release.dylib      0x19153542 fbl::vsql::Cursor::AddRecord() + 258
> 15  ..._macho_ub_4_9_1.rbx_0.dylib    0x18dc068a Cursor_AddRecord(REALobjectStruct*) + 114
> 
> With V4RB v5beta, the crash is always there, on the very same record, 
> but with another crash log :
> 
> 0   ???                               0000000000 0 + 0
> 1   libvkernel_fat_release.dylib      0x191e01db fbl::ENode_Pred_Equal_Str::long_val(unsigned int) + 243
> 2   libvkernel_fat_release.dylib      0x191de4a2 fbl::ENode_Pred_CmpOp::llong_val(unsigned int) + 24
> 3   libvkernel_fat_release.dylib      0x191cb096 fbl::ENode_Func_If::llong_val(unsigned int) + 32
> 4   libvkernel_fat_release.dylib      0x192a9359 fbl::AssignToValue(fbl::smart_ptr<fbl::I_Value>, fbl::smart_ptr<fbl::I_ENode>, unsigned int) + 278
> 5   libvkernel_fat_release.dylib      0x19174593 fbl::Method_SQL::Evaluate(unsigned int, fbl::smart_ptr<fbl::I_Value>) + 229
> 6   libvkernel_fat_release.dylib      0x19248e67 fbl::policyMethodYes::DoMethod(fbl::FldStorage*, unsigned int, fbl::I_Value*) + 93
> 7   libvkernel_fat_release.dylib      0x195553bc fbl::FldStorageMaster_T<fbl::policyFileNo, fbl::policyNullNo, fbl::policyMethodYes>::ReadValue(unsigned int, fbl::smart_ptr<fbl::I_Value>) + 48
> 8   libvkernel_fat_release.dylib      0x1921c05b fbl::Field_Imp::ReadValue(unsigned int) + 57
> 9   libvkernel_fat_release.dylib      0x1927b960 fbl::Table::ReEvaluateAllMethods(unsigned int) + 94
> 10  libvkernel_fat_release.dylib      0x1927bf28 fbl::Table::AddRecord_WithOut_Triggers_ex() + 102
> 11  libvkernel_fat_release.dylib      0x1927ba45 fbl::Table::AddRecord_WithOut_OnEachStatement_Triggers_ex() + 171
> 12  libvkernel_fat_release.dylib      0x19277e80 fbl::Table::AddRecord() + 428
> 13  libvkernel_fat_release.dylib      0x1927f5e1 fbl::Table_Indirect::AddRecord() + 217
> 14  libvkernel_fat_release.dylib      0x19289c29 fbl::vsql::Cursor::AddRecord() + 223
> 15  V4RB_macho_ub_5b.rbx_0.dylib      0x18ed69d2 Cursor_AddRecord(REALobjectStruct*) + 117
> 
> I don’t understand what’s happening since I use IF() function in many other 
> tables without exhibit any problem ... for the moment :-(.
> 
> François Van Lerberghe
> Rue Thier Monty, 15 A
> 4570 Marchin
> Belgique
> 
> le 21/04/12 10:15, Francois Van Lerberghe <fvanlerberghe at freegates.be> a écrit :
> 
> > The function LOCATE() seems to be the culprit here. Replacing it with a
> > bunch of IF() solve my problem : no more crash.
> > I hope that workaround will not decrease too much the speed...
> > 
> > Ruslan, is there another workaround more efficient ?
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina

-- 
Best regards,
Ivan Smahin
Senior Software Engineer
Paradigma Software, Inc
Valentina - The Ultra-Fast Database
http://www.valentina-db.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macserve.net/pipermail/valentina/attachments/20120421/c19cf05a/attachment.html>


More information about the Valentina mailing list