NetTalk Central
NetTalk Web Server => Web Server - Ask For Help => Topic started by: Bruce on May 21, 2014, 12:51:52 AM
-
Hi Bruce,
I'm getting a GPF when I exit the WebServer app:
Code:
Program : D:\FutureIT\kwiklook\WebServer\klws.exe
Version : 5.0.0.243
At : 18:15:57 on 2014/05/21
Workstation: : AUCLYKWIK01
User Name: : futureit
Reported error : EXCEPTION_ACCESS_VIOLATION - Error reading data at : 00000018h
Windows : Win 2008 R2-, Terminal Server 6.1.7600
Clarion : 0.801
Thread : 1 Field : 0 Event : 0 Keycode : 1
Error at address : 00254E24h no debug info, Module=D:\FutureIT\kwiklook\WebServer\ClaMSS.dll 8.0.9759
Stack Trace
??? 01010FD3h Line ?=4900 no proc Src=xFiles.clw
??? 004D5248h Line=1834 Proc=TAKEBROWSEEVENT@F17HNDFILELOADBROWSE Src=HNDFLBRW.CLW
??? 010800CEh Line ?=4900 no proc Src=xFiles.clw
??? 0141B07Ch Line ?=26 no proc Src=wxeh.cpp Module=D:\FutureIT\kwiklook\WebServer\ClaRUN.dll 8.0.9759
??? 0141B07Ch Line ?=26 no proc Src=wxeh.cpp Module=D:\FutureIT\kwiklook\WebServer\ClaRUN.dll 8.0.9759
??? 0141B07Ch Line ?=26 no proc Src=wxeh.cpp Module=D:\FutureIT\kwiklook\WebServer\ClaRUN.dll 8.0.9759
??? 005164ACh Line=170 Proc=ADDITEM@F18CSHYPERACTIVECLASSlOsbOlOlOll Src=Hyper.Clw
??? 00E15A48h Line ?=4900 no proc Src=xFiles.clw
??? 005164CFh Line ?=170 no proc Src=Hyper.Clw
[01] 77999F02h no debug info, Module=C:\Windows\SysWOW64\ntdll.dll 6.1.7600.16385 (win7_rtm.090713-1255)
[02] 77999ED5h no debug info, Module=C:\Windows\SysWOW64\ntdll.dll 6.1.7600.16385 (win7_rtm.090713-1255)
??? 005164ACh Line=170
>> I don't know why there is a Handy Browse line in there, there are no Handy Browses in the app at all! The app does have the global Handy Tools included.
Regards,
Trent
-
Hi Trent,
GPF's when exiting the server are "common" and typically fall into one of two camps;
a) You are closing the server when a worker-thread is still running. This means that the main thread (containing the server) ends, the server object vanishes, and when the worker tries to use the server it gpf's. the GPF is harmless (and there are ways to prevent this - but more of that at another time.)
The key way to identify this issue is to check the THREAD number of the GPF. Typically worker threads are running on thread 3+ or 4+ so if you see a high thread number then this is usually the cause.
(This is clearly not the cause in this case).
b) The second likely cause is because you are doing something in your destructors which is not kosher. That's harder to isolate, but using "your own" classes (ie a custom INC file or CLW file) is often a cause. Specifically missing the ,TYPE attribute on a class (not object) declaration, or getting the DLL or LINK attributes for the class wrong, or something like that. the best way to debug these is to narrow down the cause, and then gut your program until the effect goes away. It's hard to do, but usually the problem is very small.
>> I don't know why there is a Handy Browse line in there, there are no Handy Browses in the app at all! The app does have the global Handy Tools included.
It's important to read the GPF report correctly. first focus on the [xxx] lines (where xxx is a number) and ignore the ??? lines. The ??? lines are a "maybe" and can add clues to the [xxx] lines. In this case it doesn't look like they're adding any information - rather I'd be suspecting a DESTRUCT issue in the system itself (as described in b) above.)
Cheers
Bruce
-
Hi Bruce,
We are using some INC and CLW files in the global embeds which I'll look at tomorrow.
Sorry I was looking at the wrong part of the line for the questions marks in the GPF report.
Still waiting for the "memory free'd" error to occur again.
Regards,
Trent