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