-
Content Count
412 -
Joined
-
Last visited
-
Days Won
6
Posts posted by Roger Cigol
-
-
Many thanks to all who helped - learning about the sysintern functions (handle.exe was the life saver) etc much appreciated. Special thanks to
-
1
-
-
POSITIVE RESULT
Having got the error code 1450 and then, very helpfully, being pointed in the
direction of the "handle.exe" utility on sysintern this got us to a much better
position: we could run our software and use "handle" to confirm that something
was generating this continuous stream of unwanted (and presumably unused) handles
which was eventually reaching some kind of windows out of resources threshold.This enabled us to (temporarily) remove parts of our code that talk to different
bits of hardware and then repeat the test to check for unwanted handle production.We found that it was calls to a commercial driver for a specialist PCIe card that
is used by our system that was the cause of the problem. This comes from a large
respected scientific corporation, who's products we have worked with for a good
many years (previously without any problems).Even better news: As part of this commercial package comes a separate test utility
that allows you to check that card and driver have been installed correctly. This,
too, gives the same stream of unwanted handles. So we are now able to go back to
designer/manufacturer of the card/driver and show them how to spot the problem,
which exists just using their own software.Fingers crossed that they will come back with a fix quickly!
-
1
-
-
Why would this kind of problem mean that only my application is affected? When the problem happens it is still possible to read and write files to the directories using windows explorer (eg right click and create a new text file).
-
Auto run: If I look for coloured entries - which are the ones with "not verified".....
In Services I see one:
Sense Windows Defender Advanced Threat Protection Service: Windows Defender Advanced Threat Protection service helps protect against advanced threats by monitoring and reporting security events that happen on the computer. (Not Verified) Microsoft Corporation C:\Program Files\Windows Defender Advanced Threat Protection\MsSense.exe Mon Feb 10 16:31:35 2025
In Drivers I see three:
BthA2dp Microsoft Bluetooth A2dp driver: Bluetooth A2DP Driver (Not Verified) Microsoft Corporation C:\Windows\System32\drivers\BthA2dp.sys Sat Dec 7 09:07:47 2019
BthHFEnum Microsoft Bluetooth Hands-Free Profile driver: Bluetooth Hands-Free Audio and Call Control HID Enumerator (Not Verified) Microsoft Corporation C:\Windows\System32\drivers\bthhfenum.sys Sat Dec 7 09:07:47 2019
Adobe Type Manager File not found: atmfd.dll
The first two are in subcategory: HKLM\System\CurrentControlSet\Services
The last one is in subcategory: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font drivers
-
9 minutes ago, Kas Ob. said:and run SFC, yes as dumb as it sound
Running SFC did not sound dumb to me (either at the time you posted it, or now).
This was done at end of January, after we had done a full "check for updates" iteration round a few times (until it said "all up to date").
-
7 minutes ago, Kas Ob. said:it is definitely a broken driver, and again such driver is there to perform a job,
So is this suspect driver related to file handling ? or could it be any driver on the machine ?
-
Just now, Kas Ob. said:It doesn't matter, and yes it will help if no object with that name exist then the problem is in the middle between use mode and user-mode driver.
Thank you, Kas. I have downloaded WinObjEx (exe) and run it. I click on the search (magnifier glass) icon and then enter MyMutex1 and click on Find. It says no objects found. I get the same result if repeat but with search only for "Mutant" in the drop down.
-
@Kas Ob. My actual app is a 32 bit exe - will the 64bit WinObjEx64 still be ok to help us (you!) get to the bottom of this ?
-
35 minutes ago, Kas Ob. said:Use Process Monitor without filter(s), them see what is trying figure who reported the Resource Error.
I have sysinternals process monitor running on the machine. I get a long list of processes - but can't see my application mentioned anywhere (note - may application it is not actually doing anything at present - but it is still running)
Any tips on how to drive this ?
-
I have remote access to the machine, My application is still running and I can confirm that it is still not able to create / write to any files.
I have used the sysinternal handle.exe utility. When run with -a -p nnnn >MyOuptutTextFile.txt // (where nnnn = my application process ID)
When I look at the resulting output file it is 400MB long and almost all of it is taken up with the same entries, here's an extract
3B4: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
3B8: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
// loads and loads and loads of entries here
// - and then the file ends
F71D78: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D7C: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D80: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D84: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D88: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D8C: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D90: <Unknown type> \Sessions\1\BaseNamedObjects\MyMutex1
F71D94: <Unknown type> \Sess
This doesn't look healthy to me - but what does this line mean?
-
-
25 minutes ago, Kas Ob. said:Service ! , so the cause is not your application,
Are you sure that "service" means a windows service in this context? I am not so sure that MS error messages are so precise! I think this just means a "general service provided by the operating system" - but I could be wrong.
@Kas Ob. I am a bit out of my depth with this one - so your expertise is really welcome and appreciated. So above question is just me being ultra cautious!
-
When I open resource monitor I see 2 threads and 15 handle names (13 are files, one is the application exe and one is the application mutex created and checked by our application (we use this to prevent two instances being run at the same time)
So this doesn't show any problem.
Hard Disk still has 43GB used of a total capacity of 930GB
-
When I open up task manager I see 0% for CPU, disk and network, very low power useage and only 14.7MB of memory useage - and it's been running for a week and a half, so doesn't look like a memory leak.
-
An update: by adding code to get the Windows error code following a failed attempt to open a text file I have now got an error number : 1450
A quick google search reveals
Error 1450 = Insufficient system resources exist to complete the requested service
So what resources is it short of, I wonder? I am currently trying to get a remote connection to the PC in question before they close down (and restart) the application....
-
@JohnLM An interesting feature request. If you want it to be considered you need to post it at https://qp.embarcadero.com/
Helpful advice: Your suggestion (interesting though it is) is definitely well "off topic" so it might have been wise to post it as a new thread.
-
Well as a catch line it does make you want to attend the presentation.....
-
Is this "Classic" or "Clang" 32 bit ?
Are you using "incremental linking" ? (if so, does it solve your issue if you change the project setting to "incremental linking = false" ?
Ooops - sorry - this is Delphi code not C++ - please ignore me !
-
https://register.gotowebinar.com/register/5710587862509447008
This is the link for "what's coming in 12.3"
-
1
-
-
On 1/29/2025 at 3:58 PM, Remy Lebeau said:Do you get an error code from SysUtils::File[Create|Open]() or ::CreateFile()?
Doing more error checking is of course a good idea. Perhaps I shouldn't have had to be pushed to do this.
The software does log some errors to the log file. But of course if the log file falls over then I don't get a record of the errors.
There are practical difficulties working with the customer on site (if you do too many version changes they start to feel (with some justification) that you are using them as the debugging team...
However I agree with your helpful hint : I need to see if I can find out what is being reported when this problem occurs. I have created a version that will push error messages into the GUI thread and this thread will display them.
I have asked the customer to take screen shots of any error boxes that pop up.
Thanks for your help @Remy Lebeau I will post here again if I solve the problem or if I get more error information that I need help understanding !
-
On 1/29/2025 at 12:36 PM, Der schöne Günther said:Can't you just spin up a fresh VM with the same windows image and see if the problem persists?
Thank you @Der schöne Günther for this suggestion. It's not quite so easy...
a) I am not sure if I have the IT skills to get an exact copy of Win 10 LTSC from the customer's machine on to a VM (I did not supply the customer's PC).
b) The software talks to significant complex hardware (it's a special purpose machine control system) which is hard to replicate / simulate on a VM system.
-
Well it's a good opportunity to have time to learn Delphi at somone elses expense. Great to have a project to work on where anything you do that isn't a complete failure is considered a good result. I can't think of a better project to learn on !
-
1
-
-
29 minutes ago, Der schöne Günther said:Check Windows Event Viewer for resource exhaustion events and other errors and warnings
@Der schöne GüntherMany thanks for this suggestion. Sadly (for me) I have already checked windows events - no sign of any problem error or warning messages.
-
VCL - RAD Studio 12.2 C++ Classic Compiler
I have a windows C++ (Classic compiler) VCL application that uses TDirectory::GetDirectories() and TDirectory::GetFiles() to get lists of files from the Windows OS file structure.
These files are then opened for read or write using stl ofstream and ifstream along with >> and << operators.
The same code has been in use on different instances of the application on different machines (including Win XP and Windows 7).
I have a new instance where the operating system is Windows 10 LTSC version 10.0.19044 build 19044. I have not run it on this version of windows before.
Problem; Directory and file lists, reading and writing work ok for a longish time (24 hours sometimes, 30 hours sometimes, 10 hours sometimes) and then
the calls to TDirectory::GetDirectories() and TDirectory::GetFiles() both return empty lists. Writing to a log file (with a fixed file name) also stops working at
this time. It's as if my application has been locked out of the file system somehow.
At this point it is possible to use File Explorer to see that there still are files and directories present. It is possible to open the files by other applications.
(some are plain text files and can be opened with notepad). The files are stored in a directory inside C:\Users\Public\Documents\ so
should be available to all applications all of the time.
I cannot offer a reproducible example - all my code works fine on my development machine (which is Windows 10 Pro build 19045.5371 22H2).
This is true if I run it under the IDE debugger or as a free standing exe.
I wonder if any of my fellow Delphi-Praxis colleagues might have any similar experiences or can offer some ideas of what I should try next ?
ICS v9.x Error on WinXP under Delphi7 - ConvertThreadToFiberEx error
in ICS - Internet Component Suite
Posted
Side note: very much off topic: but I love sending postcards and still send about hundred to different friends each year as I travel around.