#3 mORMot 1 » TestSQL3 Failed in service initialization » 2012-03-03 09:30:08

remixtech
Replies: 4

Hello,

I'am using [d85e66ef0c] version on Win7 Pro 64bits, Delphi XE2 with Eset.

One test is failing : ! - Service initialization : 1 / 105 FAILED 1.71 ms.

So i'am using Delphi Debugger,

And this is the error : First chance exception at $773ED09C. Exception class $C0000005 with message 'access violation at 0x773ed09c: read of address 0x0d18fca4'. Process TestSQL3.exe (1816)

In synCommons.pas, line 28000  here if ((st>max_stack) or (st<min_stack)) and not IsBadReadPtr(pointer(st-8),12) and     ((pByte(st-5)^=$E8) or check2(st))

procedure TSynLog.AddStackTrace(Stack: PPtrUInt);
  function check2(xret: PtrUInt): Boolean;
  var i: PtrUInt;
  begin
    result := true;
    for i := 2 to 7 do
      if PWord(xret-i)^ and $38FF=$10FF then
        exit;
    result := false;
  end;
var st, max_stack, min_stack, depth: PtrUInt;
    prevState: boolean;
begin
  if fFamily.StackTraceLevel<=0 then
    exit;
  depth := fFamily.StackTraceLevel;
  if Stack=nil then // if no Stack pointer set, retrieve current one
    asm
      mov eax,ebp // push ebp; mov ebp,esp done at begin level above
      mov Stack,eax
    end;
  asm
    mov eax,fs:[18h]
    mov ecx,dword ptr [eax+4]
    mov max_stack,ecx
    mov ecx,dword ptr [eax+8]
    mov min_stack,ecx
  end;
  fWriter.AddShort(' stack trace ');
  prevState := SynLogExceptionEnabled;
  SynLogExceptionEnabled := false; // for IsBadCodePtr
  try
    try
      while (PtrUInt(stack)<max_stack) do begin
        st := stack^;
        if ((st>max_stack) or (st<min_stack)) and 
           not IsBadReadPtr(pointer(st-8),12) and
           ((pByte(st-5)^=$E8) or check2(st)) then begin
          TSynMapFile.Log(fWriter,st); // will ignore any TSynLog.* methods
          dec(depth);
          if depth=0 then break;
        end;
        inc(stack);
      end;
    except
      // just ignore any access violation here
    end;
  finally
    SynLogExceptionEnabled := prevState;
  end;
end;

There is successively 17 access violations.

Thanks big_smile and greeting from France !

#4 Re: mORMot 1 » Comparison between commercial apps » 2012-03-01 10:43:51

I'am not hurry I'am Physicist and soon teacher so I don't need it to eat wink

Thanks for your time

#5 Re: mORMot 1 » Comparison between commercial apps » 2012-03-01 10:08:04

Another thing : I hate writing SQL strings with DISQLITE 3. To hard to read, to hard to correct.

#6 Re: mORMot 1 » Comparison between commercial apps » 2012-03-01 10:06:17

Clearly you are right for the sources smile... This is a major mistake i made. (Not too important, i'am a hobbyst and don't know if I will do shareware, freeware or opensource).

I don't use TDataset, i prefer working without it and don't rely on drag drop components hmm (i'am more confident with lines of code)
I will take some times to study seriously the source code, it will be a great exercise and if you assure me mORmot is more professional so....

Let's go.

Thanks for responding fast.
Kind regards from France !

#7 mORMot 1 » Comparison between commercial apps » 2012-03-01 09:40:48

remixtech
Replies: 8

Hello,

I know it's not a highly technical information but I need some advises hmm
I am building an application which needs managing data (with a database). Until now, i have used a commercial app without sources (DISQLITE3) I Know working without sources isn't great and now I have problems.
So I would like to know if I could replace it with mORMot framework.

The most important stuff I need is thread safety (I looked in the documentation, it's okay and it seems really easy to use) and encryption for security reason.

So in comparison of DISQLite 3 (http://www.yunqa.de/delphi/doku.php/pro … ture_chart). Is there advantages, disadvantages ?

Thanks a lot,
Kind regards from France !

Board footer

Powered by FluxBB