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