11
Web Server - Ask For Help / Re: WebServer Logging to Disk issue
« Last post by rjolda on June 16, 2025, 11:40:43 AM »Hi Kurt,
"memory freed twice error" - ooooh. I work hard to avoid these....
I am not sure how logging is going to help with that. I am reaching way back - that may occur when an object is instantiated and Killed too many times??? I think I used to see this with apps having DLLs also. So, I would look at any objects that you create and look at how and why they are disposed of. Capesoft has GUTS - not sure if it works with Net Talk but I don't see why not.
If i was going to look at this I might put a trace statement in each "procedure" maybe at starting and ending of each procedure. have Debugview to capture and look at them and if you follow them, the traces should end when the program crashes. This might help you reconstruct the process and then focus your trace statements to the actual procedure and events causing the crash.
Some folks look for clues in the CRASH report. May be of some use.
Ron
"memory freed twice error" - ooooh. I work hard to avoid these....
I am not sure how logging is going to help with that. I am reaching way back - that may occur when an object is instantiated and Killed too many times??? I think I used to see this with apps having DLLs also. So, I would look at any objects that you create and look at how and why they are disposed of. Capesoft has GUTS - not sure if it works with Net Talk but I don't see why not.
If i was going to look at this I might put a trace statement in each "procedure" maybe at starting and ending of each procedure. have Debugview to capture and look at them and if you follow them, the traces should end when the program crashes. This might help you reconstruct the process and then focus your trace statements to the actual procedure and events causing the crash.
Some folks look for clues in the CRASH report. May be of some use.
Ron
12
Web Server - Ask For Help / Re: WebServer Logging to Disk issue
« Last post by kboller on June 16, 2025, 06:39:28 AM »Thanks for the help Alberto and Ron.
I updated my code to look for an error after the insert however it was error free so I then added open and close statements with no success.
!Before add to Log Que
If web:EnableLogging = 2
glo:st.Trace('*** Adding Log Record')
Access:WebLogFile.Open()
Clear(WebLogFile:Record)
Log:Line = format(Today(),@D3)&format(Clock(),@T3)&' -- '&clip(p_Data)&','&p_ip
Access:WebLogFile.Insert()
IF ERRORCODE() then glo:st.Trace('*** Write error -' &ERROR()).
Access:WebLogFile.Close()
end
Ron, I'm trying to track down a "memory freed twice error" so I"m trying to capture all the log entries up to the time the program crashes.
I've even moved it to different embed points within the ThisWebServer.AddLog PROCEDURE but it doesn't seem to matter. I see the trace statements but no log activity is being written.
Thanks,
Kurt
I updated my code to look for an error after the insert however it was error free so I then added open and close statements with no success.
!Before add to Log Que
If web:EnableLogging = 2
glo:st.Trace('*** Adding Log Record')
Access:WebLogFile.Open()
Clear(WebLogFile:Record)
Log:Line = format(Today(),@D3)&format(Clock(),@T3)&' -- '&clip(p_Data)&','&p_ip
Access:WebLogFile.Insert()
IF ERRORCODE() then glo:st.Trace('*** Write error -' &ERROR()).
Access:WebLogFile.Close()
end
Ron, I'm trying to track down a "memory freed twice error" so I"m trying to capture all the log entries up to the time the program crashes.
I've even moved it to different embed points within the ThisWebServer.AddLog PROCEDURE but it doesn't seem to matter. I see the trace statements but no log activity is being written.
Thanks,
Kurt
13
Web Server - Ask For Help / Re: sending SMS via GSM Modem
« Last post by Bruce on June 14, 2025, 11:15:58 PM »more likely you'll use the WinEvent Serial Port functions.
It all depends on your SMS modem, and how it connects to the PC.
Cheers
Bruce
It all depends on your SMS modem, and how it connects to the PC.
Cheers
Bruce
14
Web Server - Ask For Help / Re: WebServer Logging to Disk issue
« Last post by rjolda on June 14, 2025, 03:25:13 AM »Hi Kurt,
FWIW, I have a separate table of LOGINS. It is a TPS file. I am able to use this to record each VALID login to the system. I write a record to it after I validate each login. That may be a better solution for you if you are trying to track valid logins. BTW, make sure that the additional table is OPENED when you write to it - either have the procedure open and close it or you must do it yourself.
Ron
FWIW, I have a separate table of LOGINS. It is a TPS file. I am able to use this to record each VALID login to the system. I write a record to it after I validate each login. That may be a better solution for you if you are trying to track valid logins. BTW, make sure that the additional table is OPENED when you write to it - either have the procedure open and close it or you must do it yourself.
Ron
15
Web Server - Ask For Help / Re: WebServer Logging to Disk issue
« Last post by Alberto on June 12, 2025, 05:48:02 PM »Hi,
Had you checked the insert error in
Access:WebLogFile.Insert()
Are you sure the file is open?
Had you checked the insert error in
Access:WebLogFile.Insert()
Are you sure the file is open?
16
Web Server - Ask For Help / Re: WebServer Logging to Disk issue
« Last post by kboller on June 12, 2025, 12:38:40 PM »Hi Ron,
Regarding the RETURN, I think it is adding one. If you close the webapp and reopen it, it does add an additional record to the log file. The record length is currently 1024 so it is large but doesn't appear to fill the record with blanks. You can open it with notepad and see it's performing a carriage return at the end of the record.
I did use the Add(record) and got the same results as the Insert record. It only adds the one record even though with trace statements it shows that the code is being executed.
Thanks,
Kurt
Regarding the RETURN, I think it is adding one. If you close the webapp and reopen it, it does add an additional record to the log file. The record length is currently 1024 so it is large but doesn't appear to fill the record with blanks. You can open it with notepad and see it's performing a carriage return at the end of the record.
I did use the Add(record) and got the same results as the Insert record. It only adds the one record even though with trace statements it shows that the code is being executed.
Thanks,
Kurt
17
Web Server - Ask For Help / Re: WebServer Logging to Disk issue
« Last post by rjolda on June 12, 2025, 08:09:30 AM »Hi Kurt,
I have not played with the Save to Disk function for logs and I am on the road. I have found that many things in NT get solved by snooping around and trying to make sense of the stuff around what you are trying to do.
First, I believe it is an ASCII file. Is there a RETURN added at the end of each line? I am not sure if it is added automatically but if there isn't any and the line length is BIG - it may appear to have only one record?
The logins are apparently recorded in a queue. I would look at the queue and see what is there and make sure that you have the correct item to write to your file. eg - I am not sure if it takes each addition to the queue and runs the record from this routine or if this routine needs to fetch the last queue record to have it to write to disk.
I might use and ADD(record) as opposed to Insert record as it is an AScII file.
Poking around with some messages or trace statements will help you sort this out.
Sorry I don't have an answer but I find that with some information and direction, the answer can often be sorted out.
Ron
I have not played with the Save to Disk function for logs and I am on the road. I have found that many things in NT get solved by snooping around and trying to make sense of the stuff around what you are trying to do.
First, I believe it is an ASCII file. Is there a RETURN added at the end of each line? I am not sure if it is added automatically but if there isn't any and the line length is BIG - it may appear to have only one record?
The logins are apparently recorded in a queue. I would look at the queue and see what is there and make sure that you have the correct item to write to your file. eg - I am not sure if it takes each addition to the queue and runs the record from this routine or if this routine needs to fetch the last queue record to have it to write to disk.
I might use and ADD(record) as opposed to Insert record as it is an AScII file.
Poking around with some messages or trace statements will help you sort this out.
Sorry I don't have an answer but I find that with some information and direction, the answer can often be sorted out.
Ron
18
Web Server - Ask For Help / Save icon Button Bug?
« Last post by osquiabro on June 12, 2025, 07:05:12 AM »NT 14.22, This bug is in Save Button form, when use HTML Befor Image/Text in a form, NT overwrite for global Standard Button value and not respect the value in a form
19
Web Server - Ask For Help / Host GPF
« Last post by osquiabro on June 12, 2025, 03:03:05 AM »i have this GPF in my host server in different dates, i don't how to interpret but all instances have a same template xfiles
NT 14.22
Xfiles 4.33
Program : C:\Apps\IstprHost\IstprHost.exe
Version :
At : 23:59:00 on 2025/06/11
Workstation: : istpr
User Name: : Administrator
Reported error : EXCEPTION_ACCESS_VIOLATION - Error writing data at : 53542D60h
Windows : Win 10 - 10.0.20348
Clarion : 0.9
Thread : 1 Field : 0 Event : 523 Keycode : 144
Error at address : 53542D60h no module
Stack Trace
711D870Fh Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
00AB2001h Line ?=135 no proc Src=xFiles.clw
00905B26h Line=1984 Proc=TAKEWINDOWEVENT@F10THISWINDOW Src=IstprHost024.clw
00AB2094h Line ?=135 no proc Src=xFiles.clw
00AC1804h Line ?=135 no proc Src=xFiles.clw
[01] 711D870Fh Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
[02] 007CF5A3h Line=721 Proc=TAKEEVENT@F13WINDOWMANAGER Src=ABWINDOW.CLW
00AB2094h Line ?=135 no proc Src=xFiles.clw
00AB2094h Line ?=135 no proc Src=xFiles.clw
[03] 00905C27h Line=1927 Proc=TAKEEVENT@F10THISWINDOW Src=IstprHost024.clw
00AC1804h Line ?=135 no proc Src=xFiles.clw
[04] 007D08E6h Line=784 Proc=ASK@F13WINDOWMANAGER Src=ABWINDOW.CLW
711CCBBCh Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
711CA901h Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
711CA441h Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
711C7C56h Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
711C7CC0h Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
007D08D6h Line=783 Proc=ASK@F13WINDOWMANAGER Src=ABWINDOW.CLW
711ECCC6h Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
007D0902h Line=788 Proc=ASK@F13WINDOWMANAGER Src=ABWINDOW.CLW
00AC1804h Line ?=135 no proc Src=xFiles.clw
[05] 007CFE69h Line=942 Proc=RUN@F13WINDOWMANAGER Src=ABWINDOW.CLW
00AC1804h Line ?=135 no proc Src=xFiles.clw
[06] 0090D598h Line=678 Proc=WEBSERVER@F Src=IstprHost024.clw
00AD582Ch Line ?=135 no proc Src=xFiles.clw
00AB078Ch Line ?=135 no proc Src=xFiles.clw
00AC0E1Ch Line ?=135 no proc Src=xFiles.clw
00AC0DB4h Line ?=135 no proc Src=xFiles.clw
00AC0C4Ch Line ?=135 no proc Src=xFiles.clw
00AAEA88h Line ?=135 no proc Src=xFiles.clw
00AC17F8h Line ?=135 no proc Src=xFiles.clw
00AC1214h Line ?=135 no proc Src=xFiles.clw
[07] 00968B29h Line=485 Proc=_main Src=IstprHost.clw
007E34DCh Line=170 Proc=ADDITEM@F18CSHYPERACTIVECLASSlOsbOlOlOll Src=Hyper.Clw
[08] 711AE2FFh no line number no proc Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
71228C14h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7120940Ah Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
[09] 711ADDF1h no line number no proc Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
71209420h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
007E34DCh Line=170 Proc=ADDITEM@F18CSHYPERACTIVECLASSlOsbOlOlOll Src=Hyper.Clw
007E34DCh Line=170 Proc=ADDITEM@F18CSHYPERACTIVECLASSlOsbOlOlOll Src=Hyper.Clw
007E34DCh Line=170 Proc=ADDITEM@F18CSHYPERACTIVECLASSlOsbOlOlOll Src=Hyper.Clw
0096890Ch Line=102 Proc=__thunk.DS_MESSAGE@FsbOsbOsbOsbll Src=IstprHost_nw.clw
007E34DCh Line=170 Proc=ADDITEM@F18CSHYPERACTIVECLASSlOsbOlOlOll Src=Hyper.Clw
71228C14h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
71228C94h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7121D1D8h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7121D1ECh Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7121D208h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7121D1FCh Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7121D224h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
7121D218h Line ?=47 no proc Src=wxeh.cpp Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
00AB28B0h Line ?=135 no proc Src=xFiles.clw
007E34FAh Line ?=170 no proc Src=Hyper.Clw
[10] 77287F4Dh no debug info, Module=C:\Windows\SYSTEM32\ntdll.dll 10.0.20348.3207 (WinBuild.160101.0800)
[11] 77287F1Bh no debug info, Module=C:\Windows\SYSTEM32\ntdll.dll 10.0.20348.3207 (WinBuild.160101.0800)
NT 14.22
Xfiles 4.33
Program : C:\Apps\IstprHost\IstprHost.exe
Version :
At : 23:59:00 on 2025/06/11
Workstation: : istpr
User Name: : Administrator
Reported error : EXCEPTION_ACCESS_VIOLATION - Error writing data at : 53542D60h
Windows : Win 10 - 10.0.20348
Clarion : 0.9
Thread : 1 Field : 0 Event : 523 Keycode : 144
Error at address : 53542D60h no module
Stack Trace





[01] 711D870Fh Line ?=27 no proc Src="Library State" Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
[02] 007CF5A3h Line=721 Proc=TAKEEVENT@F13WINDOWMANAGER Src=ABWINDOW.CLW


[03] 00905C27h Line=1927 Proc=TAKEEVENT@F10THISWINDOW Src=IstprHost024.clw

[04] 007D08E6h Line=784 Proc=ASK@F13WINDOWMANAGER Src=ABWINDOW.CLW









[05] 007CFE69h Line=942 Proc=RUN@F13WINDOWMANAGER Src=ABWINDOW.CLW

[06] 0090D598h Line=678 Proc=WEBSERVER@F Src=IstprHost024.clw








[07] 00968B29h Line=485 Proc=_main Src=IstprHost.clw

[08] 711AE2FFh no line number no proc Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630


[09] 711ADDF1h no line number no proc Module=C:\Apps\IstprHost\ClaRUN.dll 11.0.13630
















[10] 77287F4Dh no debug info, Module=C:\Windows\SYSTEM32\ntdll.dll 10.0.20348.3207 (WinBuild.160101.0800)
[11] 77287F1Bh no debug info, Module=C:\Windows\SYSTEM32\ntdll.dll 10.0.20348.3207 (WinBuild.160101.0800)
20
Web Server - Ask For Help / WebServer Logging to Disk issue
« Last post by kboller on June 11, 2025, 10:37:35 AM »I'm trying to turn on Logging to Disk. I'm using an ASCII file and have entered the file information in the WebServer logging extension. However when I do that, the log file is never created (and no log file records as well obviously).
I then added code in the AddLog procedure to manually create the record. However it only creates the first entry and then stops adding records after that.
Any suggestions as to what's going on and how to resolve it? Here is my code where the record is added:
! Start of "Before Adding to Log Queue"
! [Priority 5000]
!Before add to Log Que
If web:EnableLogging = 2
Clear(WebLogFile:Record)
Log:Line = format(Today(),@D3)&format(Clock(),@T3)&' -- '&clip(p_Data)&','&p_ip
Access:WebLogFile.Insert()
end
! End of "Before Adding to Log Queue"
Add(LogQueue,1)
Loop While Records(LogQueue) > 500
Get(LogQueue,501)
Delete(LogQueue)
End
Thanks,
Kurt
I then added code in the AddLog procedure to manually create the record. However it only creates the first entry and then stops adding records after that.
Any suggestions as to what's going on and how to resolve it? Here is my code where the record is added:
! Start of "Before Adding to Log Queue"
! [Priority 5000]
!Before add to Log Que
If web:EnableLogging = 2
Clear(WebLogFile:Record)
Log:Line = format(Today(),@D3)&format(Clock(),@T3)&' -- '&clip(p_Data)&','&p_ip
Access:WebLogFile.Insert()
end
! End of "Before Adding to Log Queue"
Add(LogQueue,1)
Loop While Records(LogQueue) > 500
Get(LogQueue,501)
Delete(LogQueue)
End
Thanks,
Kurt