Clarion 6 app hangs on startup unless default printer is changed for ReportWriter Engine C60PRLBX.DLL

Hi all,

We suddenly started receiving multiple reports this week (starting around May 18/19 2026) from customers running our legacy Clarion 6 Windows application.

Environment:

  • Clarion 6 legacy multi-DLL application
  • 1 EXE + main DLL + multiple functional DLLs
  • Windows 11
  • application has been stable for many years

Symptoms:

  • User starts our EXE (myapp.exe)
  • EXE remains running in Task Manager
  • no login window of our Clarion application appears
  • no crash/error message
  • process just hangs invisibly

Important finding:
If the customer changes the Windows default printer to for example:
“Microsoft Print to PDF” or “OneNote (Desktop)”
then our application starts immediately and works normally.

After startup, printing to the original printer often still works fine.

Affected printers so far:

  • HP OfficeJet 9010 (wireless)
  • Brother MFC-9340CDW
  • possibly other network printers

Non-affected example:

  • my own Canon MF724Cdw using Canon MFNP port on wired LAN works perfectly

We strongly suspect the application is hanging during startup while Clarion/Windows initializes the default printer?

Interesting detail:
Customers changing the default printer away from the network printer immediately solves the startup hang.

I suspect some printer-related initialization is occurring before our login window opens.

Questions:

  1. Has anyone else recently seen Clarion applications hang during startup related to default printers?
  2. Are there known Clarion runtime calls that can block on problematic printer drivers?
  3. Any known issues with recent Windows 11 printer subsystem changes?
  4. Besides avoiding printer initialization before the first window, are there recommended defensive techniques?

=== !!! ===

Update / additional findings:

I now have 2 affected customer systems confirmed using modern Windows 11 WSD/IPP printer configurations.

Customer #1:

  • Brother MFC-9340CDW
  • wireless/WiFi
  • WSD Port
  • Microsoft IPP Class Driver

Customer #2:

  • HP OfficeJet 9010
  • wireless/WiFi
  • WSD Port

In both cases:

  • myapp.exe hangs invisibly during startup
  • process remains active in Task Manager
  • no login window appears
  • changing the Windows default printer to “Microsoft Print to PDF” immediately fixes startup

Interesting comparison:
My own system does NOT reproduce the issue:

  • Canon MF720Cdw
  • Canon MFNP Port
  • Canon vendor driver
  • works perfectly, even when configured as WSD

=== !!! ===

Would appreciate any feedback, thank you!

Best regards
Jeffrey

Do they have the setting “Let Windows manage my default printer” enabled? If so, perhaps disable that option?

If the network printer is accessible before your app is launched does it still hang?

Are you trying to set a printer in your app during launch?

Hi,

I already verified that the option:
“Let Windows manage my default printer”
is disabled on the affected systems.

What I do know so far:

  • changing the Windows default printer to “Microsoft Print to PDF” immediately fixes the startup hang
  • “OneNote (Desktop)” as default printer also works correctly
  • afterwards the original printer can often still be used normally from within the application
  • both affected systems currently use wireless WSD printer configurations under Windows 11

Customer #1:

  • Brother MFC-9340CDW
  • Microsoft IPP Class Driver
  • WSD port

Customer #2:

  • HP OfficeJet 9010
  • WSD port

I can also confirm:

  • the printers themselves are online and accessible before launching the app
  • Windows can print to them normally
  • only our Clarion 6 application hangs during startup when those printers are the Windows default printer

Regarding printer initialization:
I do have some PROPPRINT code in the application, but that executes AFTER the login procedure.

I also checked a report-engine DLL which contains:
CPCSStartUpPrintDevice = PRINTER{PROPPRINT:DEVICE}

but that code also executes later, after login.

So I am still trying to determine what exactly is touching the default printer before the first visible window appears.

At this point I suspect:

  • either hidden Clarion runtime/template initialization
  • or some Windows printer capability query triggered implicitly during startup.

Best regards
Jeffrey

Additional update:

I just received a 4th customer report with exactly the same startup hang symptoms.

Customer #4:

  • Brother MFC-J5730DW
  • wireless/WiFi
  • WSD / IPP Port
  • Microsoft IPP Class Driver

So there is now a very consistent pattern across affected systems:

  • Windows 11
  • wireless network printers
  • WSD/IPP configuration
  • Microsoft IPP Class Driver or modern WSD stack

Changing the default printer to:

  • Microsoft Print to PDF
    or
  • OneNote (Desktop)

immediately allows my Clarion 6 application to start normally again.

Increasingly I views these changes MS make as a sort of security measure and not a simple coding bug.

Do you have a different C6 program available (or could you create a simple C6 app) to see whether the issue can be reproduced on those machines consistently?

Friedrich

Hi Friedrich,

Another big C6 legacy multi-dll application is working without any problem, so no issues at all.

Both C6 multi-dll applications use a lot of third party templates, almost the same.
But my problem multi-dll application also use the SV ReportEngine class in order to print TXR reports directly from my application, which use the SV DLL:
C:\Clarion6\BIN\C60PRLBX.DLL (Clarion 6.3 Report Writer Engine)

In one of the DLLs I use:
INCLUDE('RWPRLIB.INC') !ReportEngine class

That file is included from the C:\Clarion6\LIBSRC folder. I have attached the INC file.
RWPRLIB.INC (2,3 KB)

So the problem started as of Monday 18 May 2026, already with 4 customers. Before, no problems at all.

I don’t know if the ReportEngine class is the cause, but it does something with printing of course. When myapp.exe is loading, I think that also some stuff from C60PRLBX.DLL will be loaded, which perhaps causes this problem? But my Logon window is the first window I show on the screen and before that Logon window I don’t do anything with printing of course.

But it’s a SV black box so I can’t look inside that code. We heavily use TXR reports all over in this application, so we can’t simply unplug it.

Best regards
Jeffrey

Hi all,

Yes, the problem seems to be in the Clarion 6.3 Report Writer Engine!

This Clarion6 example fails and stays forever in Task Manager:
C:\Clarion6\Examples\RWEXAMPL\RWDEMO1.PRJ

This (same) Clarion10 example works ok, so no issues:
C:\Clarion10\Examples\ReportWriter\TXR Reports\IntegratingTXR\RWDEMO1.sln

The example (made by SV) is a demonstration on how to call the Clarion RW print engine DLL (C%V%PRLB%X%.DLL) from a program.

But it still is very strange that the problem occurs as of Monday 18 May 2026, with my Clarion6 application. The temporary solution is to set another default printer, for example the “Microsoft Print to PDF”. After that, the above Clarion6 example is working ok. With Clarion10 no issues at all.

Do you have any ideas what I can do/debug in order to get the above little Clarion6 example working? After that, I can implement that solution into my huge Clarion6 multi-dll application.

Best regards
Jeffrey

If you are 100% sure its the SV report engine, you can monitor the API’s being called and data being passed to API’s using this.

You should see the api calls that lead up to the hang, so you can isolate exactly whats causing the hang ie what API thats failed.

Thanks, that makes sense.

I already used Process Explorer on the hanging Clarion 6 RWDEMO1.EXE and the thread stack shows it waiting inside printer-related calls, including:

  • DocumentPropertiesW
  • DocumentPropertySheets
  • DrvDocumentPropertySheets
  • ExtDeviceMode
  • StartPagePrinter

So yes, the next step is probably API Monitor to see the exact API call and parameters leading up to the hang.

I will try monitoring GDI / WinSpool printer APIs such as:

  • DocumentPropertiesW/A
  • ExtDeviceMode
  • DeviceCapabilities
  • OpenPrinter
  • GetPrinter
  • CreateDC
  • StartDocPrinter / StartPagePrinter

The useful thing is that I can now reproduce it with the small Clarion 6 RWDEMO1 example, while the equivalent Clarion 10 example works fine on the same machine.

Best regards
Jeffrey

Additional findings / breakthrough:

I can now reproduce the problem locally with the small Clarion 6 example:

C:\Clarion6\Examples\RWEXAMPL\RWDEMO1.PRJ

Interesting:

  • the Clarion 6 RWDEMO1 example hangs forever in Task Manager
  • the equivalent Clarion 10 example works correctly on the same machine
  • changing the Windows default printer affects whether the Clarion 6 example hangs or not

For example on my Windows 10 32-bit VM:

  • Microsoft Print to PDF => hangs
  • Microsoft XPS Document Writer => works
  • Canon printer => works

So the issue is clearly printer-driver dependent.

Using Process Explorer on the hanging Clarion 6 RWDEMO1.EXE, I inspected the thread stack and found it waiting inside these printer-related calls:

  • DocumentPropertiesW
  • DocumentPropertySheets
  • DrvDocumentPropertySheets
  • ExtDeviceMode
  • StartPagePrinter

This strongly suggests the hang occurs during printer DEVMODE / printer capability initialization inside the old Clarion 6 report writer engine/runtime interaction with certain printer drivers.

I also tried API Monitor (as suggested), but:

  • Static Import crashes the process
  • Remote Thread attach fails with:
    “Target thread did not complete execution in specified time”

which probably means the process blocks extremely early during printer initialization.

So at this point the evidence strongly points to:

  • Clarion 6 Report Writer engine
  • interacting badly with certain modern printer drivers / DEVMODE implementations
  • while Clarion 10 no longer has this problem.

Does anybody know whether there is a way to bypass/delay printer DEVMODE initialization in the old RW engine?

BUT… Why is this all happening as of Monday 18 May 2026?! I don’t get it…

Best regards
Jeffrey

Maybe it has something with this security update Security Update Guide - Microsoft Security Response Center?

Details about vulnerability CWE - CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') (4.20).

Interesting possibility, but I can now reproduce the same hang locally on a Windows 10 32-bit VM that does NOT have the May 2026 updates installed yet.

So the recent spooler/security updates may have exposed or triggered the issue more often on customer systems, but they do not appear to be the root cause.

At this point it still looks more like:

  • old Clarion 6 ReportWriter engine (C60PRLBX.DLL)
  • interacting badly with certain printer DEVMODE/driver situations

especially because:

  • Clarion 6 RWDEMO1 hangs
  • Clarion 10 equivalent works fine on the same machine/printer.

Best regards
Jeffrey

Jeffrey,

is this C6 generated .exe manifested (asInvoker)?

Friedrich

Hi Friedrich,

Yes and of course signed with a valid signature.

Best regards
Jeffrey

Hi,

Same problems on same days.
PRoblem with Clarion 6.3 multi-dll , works on single exe apps.
As far as we know problem is with

  • WSD/IPP configuration
  • Microsoft IPP Class Driver

On Windows 11 , Microsoft seems changing printing logic. Microft intention is that driver Microsoft IPP Class Driver will replace reeds for “fabric”, original drivers. Another term is Windows protected print mode (Shield icon onPrinters & scanners) corespond with IPP “logic”.

Solving that problem is partial, where we have native driver, multi-dll app works instantly.
A lot of printers doesn’t have apropriate driver especially for Windows 11.
On HP printers , you can use their Universal PCL drivers, may be !
On one user their Konica Minolta doesn’t work with their driver, multi-dll started, but nothing printed, error in “whats printing” !?
A lot of wandering, without a permanent solution.

Thans

Clarion 6.3 is 20 years old. Time to upgrade.

I still use C6.3. Its a very optimised IDE.

Hi all,

I think I finally found the real pattern behind the Clarion 6 ReportWriter startup hang.

Summary:

  • Clarion 6 app using C60PRLBX.DLL
  • app hangs during startup before any Clarion CODE executes
  • process stays running in Task Manager
  • no window appears
  • issue depends on the current default printer

The interesting discovery is:

It is NOT only about WHICH printer is the default printer.

It is also about HOW the default printer was set.

On multiple systems I reproduced this:

  1. Set a problematic printer manually AS DEFAULT via:
    Windows Settings → Printers & scanners

  2. Start myapp.exe directly
    => hangs forever

  3. Now run this PowerShell command:

(New-Object -ComObject WScript.Network).SetDefaultPrinter("ProblemPrinterName")
  1. Start myapp.exe again
    => starts immediately without any problem

So apparently the old COM/Win32 SetDefaultPrinter API initializes printer/DEVMODE state differently from the modern Windows Settings printer stack.

I can now reliably work around the problem by:

  • re-setting the current default printer first via:
    WScript.Network.SetDefaultPrinter()

  • if startup still fails:
    temporarily switching to:
    Microsoft Print to PDF
    or:
    Microsoft XPS Document Writer

  • starting the Clarion app

  • waiting for the main window

  • restoring the original printer

This works on:

  • Windows 10 32-bit
  • Windows 11
  • problematic IPP/WSD/virtual printers
  • Clarion 6 ReportWriter engine

Maybe this helps someone else fighting mysterious ReportWriter startup hangs.

Best regards,
Jeffrey

You have included ReportWriter in your .exe, I wonder if that exe contains any TXR reports and perhaps within the TXR there is a printer specification?

This is just something I would check, I have very limited experience with CRW and TXR files, just enough to know that I would remove them from an app if I had the choice! [grin]