Thread

Index > Scribe > Inscribe 2.0 crashing frequently under XP
Author/Date Inscribe 2.0 crashing frequently under XP
JohnH
14/08/2014 7:28pm
I have just upgraded to Inscribe 2.0 build 60 and have converted by mail folder to 3.0, mail folder size is 730KB (Database.sqlite)

I am running Windows XP with AVG anti virus

INSCRIBE is crashing very frequently with crashes every minute or so of active use.

Can you suggest any solutions please - This is otherwise a great email client because of its portability.

Thanks

fret
14/08/2014 10:34pm
When it crashes what does the crash dialog say?

Does it write a crash dump somewhere and tell you the path?

If it does then post the file to me and I'll have a look. In the meantime I'll run it in my XP virtual machine and see if I can reproduce the issue.
Scott
03/09/2014 8:45am
I'm getting excessive crashes as well. Below is some info from WhatIsHang (goofy name for an app) (hopefully it's useful). I've provided two captures. Repeated captures results in slightly different results. It's looking like there's a filter that is triggering an infinite loop?

Execute Address:
00A8E781 Lgi9v37x32nop.dll!?Parse@GToken@@QAEXPBD0_NH@Z+0x171

Call Stack:
0018E3C0 00A8E593 Lgi9v37x32nop.dll!??0GToken@@QAE@PBD0_NH@Z+0x63
0018E3F0 00654877 Scribe.exe+0x254877
0018E450 0067A955 Scribe.exe!?Match@ScribeWnd@@UAE_NPAVGDataStoreI@@PAVGDataPropI@@HAAV?$GArray@PAVGDataI@@@@@Z+0x225
0018E4C4 00594E13 Scribe.exe+0x194e13
0018E744 00A1BE6C Lgi9v37x32nop.dll!?GetValue@GDom@@UAE_NPBDAAVGVariant@@@Z+0x12c
0018E96C 004D5D0B Scribe.exe!?DoUI@Filter@@UAEPAVThingUi@@PAVMailContainer@@@Z+0x8db
0018ED98 004D60E5 Scribe.exe!?EvaluateTree@Filter@@IAE_NPAVGXmlTag@@PAVMail@@AA_NPAVGStream@@@Z+0x255
0018EDD8 004D5FFD Scribe.exe!?EvaluateTree@Filter@@IAE_NPAVGXmlTag@@PAVMail@@AA_NPAVGStream@@@Z+0x16d
0018EE1C 004D6284 Scribe.exe!?EvaluateXml@Filter@@IAE_NPAVMail@@AA_NPAVGStream@@@Z+0xe4
0018EE5C 004D63EF Scribe.exe!?GetVariant@Filter@@UAE_NPBDAAVGVariant@@PAD@Z+0x14f
0018EE90 0047FB45 Scribe.exe+0x7fb45
0018F690 0069E4AE Scribe.exe+0x29e4ae
0018F6B4 005BCC31 Scribe.exe+0x1bcc31
0018F6EC 005BA4AF Scribe.exe+0x1ba4af
0018F750 004D83BD Scribe.exe!?Test@Filter@@QAE_NPAVMail@@AA_NPAVGStream@@@Z+0x9d
0018F76C 004D86D4 Scribe.exe!?ApplyFilters@Filter@@SAHPAVGView@@AAV?$List@VFilter@@@@AAV?$List@VMail@@@@@Z+0x294
0018F920 00684A6A Scribe.exe!?OnNewMail@ScribeWnd@@QAEXPAV?$List@VMail@@@@_N@Z+0x2ca
0018FAFC 00685E88 Scribe.exe!?OnNew@ScribeWnd@@UAEXPAVGDataFolderI@@AAV?$GArray@PAVGDataI@@@@H_N@Z+0x4a8
0018FB84 00572DFE Scribe.exe+0x172dfe
0018FC00 0065DE55 Scribe.exe!?WriteThing@ThingContainer@@UAE?AW4Store3Status@@PAVThing@@@Z+0x245
0018FC6C 0063FB09 Scribe.exe!?Save@Mail@@UAE_NPAVThingContainer@@@Z+0xa9
0018FC88 006854BC Scribe.exe!?OnTransfer@ScribeWnd@@IAE_NXZ+0x51c
0018FDD0 00685F45 Scribe.exe!?OnIdle@ScribeWnd@@QAE_NXZ+0x95
0018FE08 006A146A Scribe.exe+0x2a146a
0018FE1C 009D8E0A Lgi9v37x32nop.dll!?Run@GApp@@UAE_N_NP6A_NPAX@Z1@Z+0xfa
0018FE4C 006A15D6 Scribe.exe+0x2a15d6
0018FED0 00617A10 Scribe.exe+0x217a10
0018FEF8 004CC8B1 Scribe.exe+0xcc8b1
0018FF88 74AA3677 kernel32.dll!BaseThreadInitThunk+0x12
0018FF94 771E9F42 ntdll.dll!RtlInitializeExceptionChain+0x63
0018FFD4 771E9F15 ntdll.dll!RtlInitializeExceptionChain+0x36

Execute Address:
771CFCD5 ntdll.dll!NtQueryPerformanceCounter+0x15

Call Stack:
0018E118 00A009C3 Lgi9v37x32nop.dll!LgiCurrentTime+0x53
0018E12C 00A025BF Lgi9v37x32nop.dll!?Lock@GMutex@@QAE_NPBDH@Z+0xf
0018E16C 009EB8A1 Lgi9v37x32nop.dll!?_OnAccess@GOptionsFile@@EAE_N_N@Z+0x21
0018E180 00A1BD7F Lgi9v37x32nop.dll!?GetValue@GDom@@UAE_NPBDAAVGVariant@@@Z+0x3f
0018E3A0 00678918 Scribe.exe!?GetFolder@ScribeWnd@@QAEPAVThingContainer@@HPAUGMailStore@1@@Z+0xa8
0018E44C 0067A8D5 Scribe.exe!?Match@ScribeWnd@@UAE_NPAVGDataStoreI@@PAVGDataPropI@@HAAV?$GArray@PAVGDataI@@@@@Z+0x1a5
0018E4C4 00594E13 Scribe.exe+0x194e13
0018E744 00A1BE6C Lgi9v37x32nop.dll!?GetValue@GDom@@UAE_NPBDAAVGVariant@@@Z+0x12c
0018E96C 004D5D0B Scribe.exe!?DoUI@Filter@@UAEPAVThingUi@@PAVMailContainer@@@Z+0x8db
0018ED98 004D60E5 Scribe.exe!?EvaluateTree@Filter@@IAE_NPAVGXmlTag@@PAVMail@@AA_NPAVGStream@@@Z+0x255
0018EDD8 004D5FFD Scribe.exe!?EvaluateTree@Filter@@IAE_NPAVGXmlTag@@PAVMail@@AA_NPAVGStream@@@Z+0x16d
0018EE1C 004D6284 Scribe.exe!?EvaluateXml@Filter@@IAE_NPAVMail@@AA_NPAVGStream@@@Z+0xe4
0018EE5C 004D63EF Scribe.exe!?GetVariant@Filter@@UAE_NPBDAAVGVariant@@PAD@Z+0x14f
0018EE90 0047FB45 Scribe.exe+0x7fb45
0018F690 0069E4AE Scribe.exe+0x29e4ae
0018F6B4 005BCC31 Scribe.exe+0x1bcc31
0018F6EC 005BA4AF Scribe.exe+0x1ba4af
0018F750 004D83BD Scribe.exe!?Test@Filter@@QAE_NPAVMail@@AA_NPAVGStream@@@Z+0x9d
0018F76C 004D86D4 Scribe.exe!?ApplyFilters@Filter@@SAHPAVGView@@AAV?$List@VFilter@@@@AAV?$List@VMail@@@@@Z+0x294
0018F920 00684A6A Scribe.exe!?OnNewMail@ScribeWnd@@QAEXPAV?$List@VMail@@@@_N@Z+0x2ca
0018FAFC 00685E88 Scribe.exe!?OnNew@ScribeWnd@@UAEXPAVGDataFolderI@@AAV?$GArray@PAVGDataI@@@@H_N@Z+0x4a8
0018FB84 00572DFE Scribe.exe+0x172dfe
0018FC00 0065DE55 Scribe.exe!?WriteThing@ThingContainer@@UAE?AW4Store3Status@@PAVThing@@@Z+0x245
0018FC6C 0063FB09 Scribe.exe!?Save@Mail@@UAE_NPAVThingContainer@@@Z+0xa9
0018FC88 006854BC Scribe.exe!?OnTransfer@ScribeWnd@@IAE_NXZ+0x51c
0018FDD0 00685F45 Scribe.exe!?OnIdle@ScribeWnd@@QAE_NXZ+0x95
0018FE08 006A146A Scribe.exe+0x2a146a
0018FE1C 009D8E0A Lgi9v37x32nop.dll!?Run@GApp@@UAE_N_NP6A_NPAX@Z1@Z+0xfa
0018FE4C 006A15D6 Scribe.exe+0x2a15d6
0018FED0 00617A10 Scribe.exe+0x217a10
0018FEF8 004CC8B1 Scribe.exe+0xcc8b1
0018FF88 74AA3677 kernel32.dll!BaseThreadInitThunk+0x12
0018FF94 771E9F42 ntdll.dll!RtlInitializeExceptionChain+0x63
0018FFD4 771E9F15 ntdll.dll!RtlInitializeExceptionChain+0x36
Scott
03/09/2014 9:06am
It seems that if I disable all filters that have scripts, the hangings cease. When I enable some filters with scripts, it hangs.
fret
03/09/2014 9:45am
Scott, the presence of:

EvaluateTree@Filter, EvaluateXml@Filter
indicates to me that Scribe wasn't evaluating a script based filter, but a standard set of conditions created with the UI. It's not in a infinite loop, as EvaluateTree is a recursive function and only appears a couple of times.

Can you isolate a single filter causing the trouble?
Scott
03/09/2014 12:45pm
The following filter hangs when called.
It may be the Strstr() call that is causing the issue. If I comment it out, it doesn't crash.

if (Filter.TestConditions)
{
 if (Strstr(Mail.From.Name, "Brenda") >= 0)
 {
	if (0<Mail.Attachments)
 	{
 		Mail.Colour = -16736256;
 	}
 }
 FilterDoActions(Filter, Mail);
}
fret
03/09/2014 2:40pm
The following filter hangs when called.
What excellent sleuthing!

I've used that to recreate the issue here and it turns out that the error handling in the scripting engine has some problems. Firstly a lot of error conditions are reported to the scripting console but don't cause the script to fail compilation. This has the rather unfortunate side effect of the virtual machine executing the broken script. And in this case the function "StrStr" is undefined and the VM loses the plot at that point.

So in response, I've updated the error handling to work correctly for a whole bunch of cases. Now the scripts causes the correct behaviour (display of a compile warning bar). I'll put up a build later today to address this for the v2.0 branch.

You'll need to update your filter code to use the:
var.Find(sub-string[, start[, end]])
syntax.
Scott
03/09/2014 8:47pm
After replacing Strstr(), Scribe works like a charm!!
Thanks.
Reply