Jump to content

Roger Cigol

Members
  • Content Count

    412
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Roger Cigol


  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!

     

    • Like 1

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

     

     


  3. 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").


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


  5. 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 ?


  6. 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?


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

     


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

     


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


  10. 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 !

     


  11. 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 !


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

     


  13. 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 ?

     

×