Bug on iw15.2 - invalid pointer and av

<< Click to Display Table of Contents >>

Navigation:  Forum >

Bug on iw15.2 - invalid pointer and av

Forum link

 


 

08-12-2020, 07:46 PM:

 

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

 

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

 


 

08-13-2020, 08:20 PM:

 

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, 09:39 PM:

 

(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;

 


 

08-18-2020, 12:19 PM:

 

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, 02:13 PM:

 

(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.