Atozed Forums

Full Version: Bug on iw15.2 - invalid pointer and av
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have been trying to test with iw15.2.12, but keep having issues with invalid pointers and AV's.  (The last working version seems to be iw15.1.22)

Here are the call stacks for both of the errors.  

1.  EinvalidPointer Issue.

CG DevTools Verson : 4.1.0.256

-------------------------------------------------------------------------------------------------------------------

IsEncrypted : FALSE

------------------------------------------------------------------------------------------------------------------------
Exception message  : Invalid pointer operation
Depending on the error condition, it might be possible to restart the application.
Exception class    : EInvalidPointer
Exception address  : 00408EBD
Exception Time    : 2020-08-12 14:28:12.636
------------------------------------------------------------------------------------------------------------------------
Application Name  : MemberConnection.exe
Application Version: 2.2.0.0
Started at        : 2020-08-12 14:21:42.412
Running for        :  6 minutes 30 seconds
Computer Name      : IT16669
Compiler Version  : 300
------------------------------------------------------------------------------------------------------------------------
IntraWeb Version  : 15.2.12
Multi-session      : False
Content Path      : C:\D_Drive\SourceCode\inetpub\wwwroot\
Session count      : 3
Application Path  : C:\d_drive\sourcecode\Project_dev3\iwMemberConnection\bin\Win32\Debug\
Active Form        : frmHome (TfrmHome)
Active Form list  : [1] frmHome (TfrmHome)
Form list          : [1] DU (TDU)
                    [2] dmMain (TdmMain)
                    [3] dmdb (Tdmdb)
                    [4] rDMWebdesk (TrDMWebdesk)
                    [5] rDMSecure (TrDMSecure)
                    [6] dmMember (TdmMember)
                    [7] rDMMember (TrDMMember)
                    [8] frmHome (TfrmHome)
Browser Name      : Chrome
Browser UserAgent  : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36
Session ID        : h
Last Access        : 2020-08-12 14:28:12.063
Callback          : False
Runtime parameters :
------------------------------------------------------------------------------------------------------------------------
Client IP address  : 127.0.0.1
Request PathInfo  : /
Request Method    : POST
Request User Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36
Cookies Count      : 26
------------------------------------------------------------------------------------------------------------------------
(00007EB8){MemberConnection.exe} [00408EB8] System.TObject.FreeInstance (Line 16187, "System.pas" + 2) + $2
(0000621A){MemberConnection.exe} [0040721A] System.ErrorAt (Line 5527, "System.pas" + 3) + $4
(0000625E){MemberConnection.exe} [0040725E] System.Error (Line 5538, "System.pas" + 1) + $7
(00007EB8){MemberConnection.exe} [00408EB8] System.TObject.FreeInstance (Line 16187, "System.pas" + 2) + $2
(000086F2){MemberConnection.exe} [004096F2] System.@ClassDestroy (Line 17536, "System.pas" + 0) + $2
(003683B3){MemberConnection.exe} [007693B3] IWBaseRenderContext.TIWBaseComponentContext.Destroy (Line 348, "IWBaseRenderContext.pas" + 3) + $6
(0000803C){MemberConnection.exe} [0040903C] System.TObject.Free (Line 16255, "System.pas" + 1) + $4
(0013A75F){MemberConnection.exe} [0053B75F] IW.Common.StrLists.TIWSimpleStringList.Clear (Line 1214, "IW.Common.StrLists.pas" + 17) + $6
(00367E1D){MemberConnection.exe} [00768E1D] IWBaseRenderContext.TIWContainerContext.Clear (Line 206, "IWBaseRenderContext.pas" + 2) + $3
(00342DB9){MemberConnection.exe} [00743DB9] IWForm.CleanUp (Line 536, "IWForm.pas" + 4) + $7
(0034038F){MemberConnection.exe} [0074138F] IWComponentHash.TIWComponentHash.Populate (Line 93, "IWComponentHash.pas" + 2) + $6
(003448AC){MemberConnection.exe} [007458AC] IWForm.TIWForm.DoGenerateForm (Line 890, "IWForm.pas" + 295) + $1
(00366C65){MemberConnection.exe} [00767C65] IWAppForm.TIWAppForm.DoGenerateForm (Line 114, "IWAppForm.pas" + 2) + $4
(0036B55F){MemberConnection.exe} [0076C55F] IWBaseForm.TIWBaseForm.GenerateForm (Line 494, "IWBaseForm.pas" + 4) + $5
(003736F7){MemberConnection.exe} [007746F7] IWApplication.TIWApplication.GenerateActiveForm (Line 1612, "IWApplication.pas" + 24) + $6
(00373212){MemberConnection.exe} [00774212] IWApplication.TIWApplication.ProcessForm (Line 1466, "IWApplication.pas" + 63) + $7
(003BBC2D){MemberConnection.exe} [007BCC2D] IWServerSession.TIWServerSession.ExecuteForm (Line 863, "IWServerSession.pas" + 11) + $9
(003BB444){MemberConnection.exe} [007BC444] IWServerSession.TIWServerSession.DoExecuteSession (Line 749, "IWServerSession.pas" + 80) + $2
(003BBAA5){MemberConnection.exe} [007BCAA5] IWServerSession.TIWServerSession.ExecuteSession (Line 832, "IWServerSession.pas" + 52) + $7
(003A811E){MemberConnection.exe} [007A911E] IWServer.TIWServer.ExecuteUrl (Line 678, "IWServer.pas" + 90) + $6
(003A8670){MemberConnection.exe} [007A9670] IWServer.TIWServer.Execute (Line 752, "IWServer.pas" + 17) + $6
(003B83FB){MemberConnection.exe} [007B93FB] IWServerSession.HttpExecute (Line 91, "IWServerSession.pas" + 2) + $3
(0043A4B1){MemberConnection.exe} [0083B4B1] IW.Server.HTTPIndy.THTTPServerIndy.DoCommandGet (Line 240, "IW.Server.HTTPIndy.pas" + 26) + $18
(0041CE61){MemberConnection.exe} [0081DE61] InCustomHTTPServer.TInCustomHTTPServer.GetSessionFromCookie (Line 1559, "InCustomHTTPServer.pas" + 30) + $10
(0041C900){MemberConnection.exe} [0081D900] InCustomHTTPServer.TInCustomHTTPServer.DoExecute (Line 1427, "InCustomHTTPServer.pas" + 180) + $F
(003F45F7){MemberConnection.exe} [007F55F7] InContext.TInContext.Run (Line 185, "InContext.pas" + 2) + $7
(003F3192){MemberConnection.exe} [007F4192] InTask.TInTask.DoRun (Line 136, "InTask.pas" + 0) + $2
(0040AD22){MemberConnection.exe} [0080BD22] InThread.TInThreadWithTask.Run (Line 626, "InThread.pas" + 1) + $3
(0040A6CD){MemberConnection.exe} [0080B6CD] InThread.TInThread.Execute (Line 378, "InThread.pas" + 43) + $5
(000D4399){MemberConnection.exe} [004D5399] System.Classes.ThreadProc (Line 14356, "System.Classes.pas" + 21) + $5
(00009DC4){MemberConnection.exe} [0040ADC4] System.ThreadWrapper (Line 24224, "System.pas" + 45) + $0

------------------------------------------------------------------------------------------------------------------------


2.  AV

CG DevTools Verson : 4.1.0.256

-------------------------------------------------------------------------------------------------------------------

IsEncrypted : FALSE

------------------------------------------------------------------------------------------------------------------------
Exception message  : Access violation at address 00000000 in module 'MemberConnection.exe'. Read of address 00000000
Depending on the error condition, it might be possible to restart the application.
Exception class    : EAccessViolation
Exception Time    : 2020-08-12 14:32:30.944
------------------------------------------------------------------------------------------------------------------------
Application Name  : MemberConnection.exe
Application Version: 2.2.0.0
Started at        : 2020-08-12 14:21:42.412
Running for        :  10 minutes 48 seconds
Computer Name      : IT16669
Compiler Version  : 300
------------------------------------------------------------------------------------------------------------------------
IntraWeb Version  : 15.2.12
Multi-session      : False
Content Path      : C:\D_Drive\SourceCode\inetpub\wwwroot\
Session count      : 4
Application Path  : C:\d_drive\sourcecode\Project_dev3\iwMemberConnection\bin\Win32\Debug\
Active Form        : frmHome (TfrmHome)
Active Form list  : [1] frmHome (TfrmHome)
                    [2] frmBenefit (TfrmBenefit)
                    [3] frmHome (TfrmHome)
Form list          : [1] DU (TDU)
                    [2] dmMain (TdmMain)
                    [3] dmdb (Tdmdb)
                    [4] rDMWebdesk (TrDMWebdesk)
                    [5] rDMSecure (TrDMSecure)
                    [6] dmMember (TdmMember)
                    [7] rDMMember (TrDMMember)
                    [8] frmHome (TfrmHome)
                    [9] frmBenefit (TfrmBenefit)
Browser Name      : Chrome
Browser UserAgent  : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36
Session ID        : Q
Last Access        : 2020-08-12 14:32:30.078
Callback          : False
Runtime parameters :
------------------------------------------------------------------------------------------------------------------------
Client IP address  : 127.0.0.1
Request PathInfo  : /
Request Method    : POST
Request User Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36
Cookies Count      : 26
------------------------------------------------------------------------------------------------------------------------
(0000CCD1){MemberConnection.exe} [0040DCD1] System.@DynArraySetLength (Line 34490, "System.pas" + 3) + $0
(0013A611){MemberConnection.exe} [0053B611] IW.Common.StrLists.TIWSimpleStringList.SetCapacity (Line 1171, "IW.Common.StrLists.pas" + 5) + $F
(0013A62C){MemberConnection.exe} [0053B62C] IW.Common.StrLists.TIWSimpleStringList.SetCapacity (Line 1174, "IW.Common.StrLists.pas" + 8) + $10
(0000803C){MemberConnection.exe} [0040903C] System.TObject.Free (Line 16255, "System.pas" + 1) + $4
(0013A75F){MemberConnection.exe} [0053B75F] IW.Common.StrLists.TIWSimpleStringList.Clear (Line 1214, "IW.Common.StrLists.pas" + 17) + $6
(0013A484){MemberConnection.exe} [0053B484] IW.Common.StrLists.TIWSimpleStringList.Destroy (Line 1127, "IW.Common.StrLists.pas" + 1) + $2
(0000803C){MemberConnection.exe} [0040903C] System.TObject.Free (Line 16255, "System.pas" + 1) + $4
(00367DA7){MemberConnection.exe} [00768DA7] IWBaseRenderContext.TIWContainerContext.Destroy (Line 195, "IWBaseRenderContext.pas" + 1) + $12
(0051EEA4){MemberConnection.exe} [0091FEA4] IWCGJQControl.TIWCGCustomRegion.get_DoRefreshControl (Line 339, "IWCGJQControl" + 0) + $F776
(0000803C){MemberConnection.exe} [0040903C] System.TObject.Free (Line 16255, "System.pas" + 1) + $4
(0030E58A){MemberConnection.exe} [0070F58A] IWContainer.TIWContainer.set_ContainerContext (Line 493, "IWContainer.pas" + 9) + $2
(003205EC){MemberConnection.exe} [007215EC] IWRegion.TIWCustomRegion.RenderComponents (Line 483, "IWRegion.pas" + 1) + $3
(0030EEA2){MemberConnection.exe} [0070FEA2] IWContainer.TIWContainer.DoRenderComponents (Line 722, "IWContainer.pas" + 46) + $A
(0030F037){MemberConnection.exe} [00710037] IWContainer.TIWContainer.RenderComponents (Line 735, "IWContainer.pas" + 3) + $A
(00320600){MemberConnection.exe} [00721600] IWRegion.TIWCustomRegion.RenderComponents (Line 484, "IWRegion.pas" + 2) + $F
(0072F364){MemberConnection.exe} [00B30364] IWCGJQDialog.TIWCGJQCustomDialog.RenderComponents (Line 1246, "IWCGJQDialog.pas" + 1) + $7
(0030EEA2){MemberConnection.exe} [0070FEA2] IWContainer.TIWContainer.DoRenderComponents (Line 722, "IWContainer.pas" + 46) + $A
(0030F037){MemberConnection.exe} [00710037] IWContainer.TIWContainer.RenderComponents (Line 735, "IWContainer.pas" + 3) + $A
(00347725){MemberConnection.exe} [00748725] IWForm.TIWForm.RenderComponents (Line 1453, "IWForm.pas" + 1) + $4
(00343D7B){MemberConnection.exe} [00744D7B] IWForm.TIWForm.DoGenerateForm (Line 691, "IWForm.pas" + 96) + $18
(00366C65){MemberConnection.exe} [00767C65] IWAppForm.TIWAppForm.DoGenerateForm (Line 114, "IWAppForm.pas" + 2) + $4
(0036B55F){MemberConnection.exe} [0076C55F] IWBaseForm.TIWBaseForm.GenerateForm (Line 494, "IWBaseForm.pas" + 4) + $5
(003736F7){MemberConnection.exe} [007746F7] IWApplication.TIWApplication.GenerateActiveForm (Line 1612, "IWApplication.pas" + 24) + $6
(003BCC71){MemberConnection.exe} [007BDC71] IWServerSession.TIWServerSession.CheckAuth (Line 1166, "IWServerSession.pas" + 1) + $7
(00373212){MemberConnection.exe} [00774212] IWApplication.TIWApplication.ProcessForm (Line 1466, "IWApplication.pas" + 63) + $7
(003BBC2D){MemberConnection.exe} [007BCC2D] IWServerSession.TIWServerSession.ExecuteForm (Line 863, "IWServerSession.pas" + 11) + $9
(003BB444){MemberConnection.exe} [007BC444] IWServerSession.TIWServerSession.DoExecuteSession (Line 749, "IWServerSession.pas" + 80) + $2
(003BBAA5){MemberConnection.exe} [007BCAA5] IWServerSession.TIWServerSession.ExecuteSession (Line 832, "IWServerSession.pas" + 52) + $7
(003A811E){MemberConnection.exe} [007A911E] IWServer.TIWServer.ExecuteUrl (Line 678, "IWServer.pas" + 90) + $6
(003A8670){MemberConnection.exe} [007A9670] IWServer.TIWServer.Execute (Line 752, "IWServer.pas" + 17) + $6
(003B83FB){MemberConnection.exe} [007B93FB] IWServerSession.HttpExecute (Line 91, "IWServerSession.pas" + 2) + $3
(0043A4B1){MemberConnection.exe} [0083B4B1] IW.Server.HTTPIndy.THTTPServerIndy.DoCommandGet (Line 240, "IW.Server.HTTPIndy.pas" + 26) + $18
(0041CE61){MemberConnection.exe} [0081DE61] InCustomHTTPServer.TInCustomHTTPServer.GetSessionFromCookie (Line 1559, "InCustomHTTPServer.pas" + 30) + $10
(0041C900){MemberConnection.exe} [0081D900] InCustomHTTPServer.TInCustomHTTPServer.DoExecute (Line 1427, "InCustomHTTPServer.pas" + 180) + $F
(003F45F7){MemberConnection.exe} [007F55F7] InContext.TInContext.Run (Line 185, "InContext.pas" + 2) + $7
(003F3192){MemberConnection.exe} [007F4192] InTask.TInTask.DoRun (Line 136, "InTask.pas" + 0) + $2
(0040AD22){MemberConnection.exe} [0080BD22] InThread.TInThreadWithTask.Run (Line 626, "InThread.pas" + 1) + $3
(0040A6CD){MemberConnection.exe} [0080B6CD] InThread.TInThread.Execute (Line 378, "InThread.pas" + 43) + $5
(000D4399){MemberConnection.exe} [004D5399] System.Classes.ThreadProc (Line 14356, "System.Classes.pas" + 21) + $5
(00009DC4){MemberConnection.exe} [0040ADC4] System.ThreadWrapper (Line 24224, "System.pas" + 45) + $0

------------------------------------------------------------------------------------------------------------------------
I loaded source for iw15.2.12 and tried to debug the issues but could not get 

I found that when the program creates a form from scratch everything works but when I try to go back to reshow the form (after I have been to another form) then it gets the AV, etc.

For now I had to roll back to iw15.1.22
(08-13-2020, 08:20 PM)joelcc Wrote: [ -> ]I loaded source for iw15.2.12 and tried to debug the issues but could not get 

I found that when the program creates a form from scratch everything works but when I try to go back to reshow the form (after I have been to another form) then it gets the AV, etc.

For now I had to roll back to iw15.1.22

Here is some more information that might help.

I am running this code

function fxGetForm(aWebApplication: TIWApplication; aFormName: string): TIWAppForm;
var
  lthisPage: TIWAppForm;
  lthisPageClass: TIWAppFormClass;
begin

  lthisPage := TIWAppForm(aWebApplication.FindComponent(aFormName));
  if lthisPage = nil then
  begin
    lthisPageClass := TIWAppFormClass(FindClass('T' + aFormName));
    Result        := lthisPageClass.Create(aWebApplication);
  end
  else
    Result := lthisPage;
end;


with TfrmClaim(fxGetForm(WebApplication, 'frmClaim')) do  -> frmClaim represents some page to move to
        begin
          BeforeShow;
          Show;  ->  this is where the error occurs,  but the error only occurs if the "lthisPage" in the fxGetForm function is nil and thus forces the creation of a new page.
        end;

(08-13-2020, 09:39 PM)joelcc Wrote: [ -> ]
(08-13-2020, 08:20 PM)joelcc Wrote: [ -> ]I loaded source for iw15.2.12 and tried to debug the issues but could not get 

I found that when the program creates a form from scratch everything works but when I try to go back to reshow the form (after I have been to another form) then it gets the AV, etc.

For now I had to roll back to iw15.1.22

Here is some more information that might help.

I am running this code

function fxGetForm(aWebApplication: TIWApplication; aFormName: string): TIWAppForm;
var
  lthisPage: TIWAppForm;
  lthisPageClass: TIWAppFormClass;
begin

  lthisPage := TIWAppForm(aWebApplication.FindComponent(aFormName));
  if lthisPage = nil then
  begin
    lthisPageClass := TIWAppFormClass(FindClass('T' + aFormName));
    Result        := lthisPageClass.Create(aWebApplication);
  end
  else
    Result := lthisPage;
end;


with TfrmClaim(fxGetForm(WebApplication, 'frmClaim')) do  -> frmClaim represents some page to move to
        begin
          BeforeShow;
          Show;  ->  this is where the error occurs,  but the error only occurs if the "lthisPage" in the fxGetForm function is nil and thus forces the creation of a new page.
        end;

(08-13-2020, 09:39 PM)joelcc Wrote: [ -> ]
(08-13-2020, 08:20 PM)joelcc Wrote: [ -> ]I loaded source for iw15.2.12 and tried to debug the issues but could not get 

I found that when the program creates a form from scratch everything works but when I try to go back to reshow the form (after I have been to another form) then it gets the AV, etc.

For now I had to roll back to iw15.1.22

Here is some more information that might help.

I am running this code

function fxGetForm(aWebApplication: TIWApplication; aFormName: string): TIWAppForm;
var
  lthisPage: TIWAppForm;
  lthisPageClass: TIWAppFormClass;
begin

  lthisPage := TIWAppForm(aWebApplication.FindComponent(aFormName));
  if lthisPage = nil then
  begin
    lthisPageClass := TIWAppFormClass(FindClass('T' + aFormName));
    Result        := lthisPageClass.Create(aWebApplication);
  end
  else
    Result := lthisPage;
end;


with TfrmClaim(fxGetForm(WebApplication, 'frmClaim')) do  -> frmClaim represents some page to move to
        begin
          BeforeShow;
          Show;  ->  this is where the error occurs,  but the error only occurs if the "lthisPage" in the fxGetForm function is nil and thus forces the creation of a new page.
        end;

(08-13-2020, 09:39 PM)joelcc Wrote: [ -> ]
(08-13-2020, 08:20 PM)joelcc Wrote: [ -> ]I loaded source for iw15.2.12 and tried to debug the issues but could not get 

I found that when the program creates a form from scratch everything works but when I try to go back to reshow the form (after I have been to another form) then it gets the AV, etc.

For now I had to roll back to iw15.1.22

Here is some more information that might help.

I am running this code

function fxGetForm(aWebApplication: TIWApplication; aFormName: string): TIWAppForm;
var
  lthisPage: TIWAppForm;
  lthisPageClass: TIWAppFormClass;
begin

  lthisPage := TIWAppForm(aWebApplication.FindComponent(aFormName));
  if lthisPage = nil then
  begin
    lthisPageClass := TIWAppFormClass(FindClass('T' + aFormName));
    Result        := lthisPageClass.Create(aWebApplication);
  end
  else
    Result := lthisPage;
end;


with TfrmClaim(fxGetForm(WebApplication, 'frmClaim')) do  -> frmClaim represents some page to move to
        begin
          BeforeShow;
          Show;  ->  this is where the error occurs,  but the error only occurs if the "lthisPage" in the fxGetForm function is nil and thus forces the creation of a new page.
        end;

Sorry about the last tripple post. (I am not sure why it keeps reposting the same item.)

I just realized that the previous post was wrong.

It should say.

with TfrmClaim(fxGetForm(WebApplication, 'frmClaim')) do -> frmClaim represents some page to move to
begin
BeforeShow;
Show; -> this is where the error occurs, but the error does not error occur if the "lthisPage" in the fxGetForm function is nil and thus forces the creation of a new page.
end;
Do you have any 3rd party controls on that form (more specifically CG Dev Tools controls)?

We have already identified one situation where an AV can happen when using CG Dev Tools controls. We have already fixed it in our codebase and we are about to release an update which should fix it.
(08-18-2020, 12:19 PM)Alexandre Machado Wrote: [ -> ]Do you have any 3rd party controls on that form (more specifically CG Dev Tools controls)?

We have already identified one situation where an AV can happen when using CG Dev Tools controls. We have already fixed it in our codebase and we are about to release an update which should fix it.

Yes.   On this particular application there are a few cg controls like tiwcgjqnotification, cgFileDownload, and tiwcgjqLabelEx.

Once the update is released I will see if that fixes the issue and go from there.