Clarion 11 - Compiler hangs on building LIB for Data DLL

Windows 11 Pro - CW 11.0.13372 (I was Win 10 Pro on old PC)
(An for Client reasons I can not upgrade CW)

I just got a new computer and had to reinstall CW.
All of my app compile, both single and multi DLL except for one.

One solution the “data” app compiles and hangs building the LIB everytime.
Making DataApp.lib : DataApp.exp changed

I have deleted the DLL/LIB/CLW etc and regenerated no matter what the prjserver.exe hangs in the same place w/in the IDE compile process.

Any Ideas?

It shows activity, not never ends

Hi Kevin,

I’m not going to be helpful here but.

I have experienced this in windows 11 on one projects VM. Windows 22h2.

No matter what I tried I couldn’t fix the issue.

I eventually created myself a W10 VM and the issue went away. I have read on skype chats and I think in the NG that others (Not many) have had the same issue.

I go back to the old VM from time to time to see if updates have fixed it, but no luck.

I’ll watch here though, in case someone has found a fix that I missed.

Mark

Do you have a target name on your project?

What does the Output Window show? I don’t know if there is a way to log that to a file, but that would be helpful to see it all.

You can clean out the MAP and OBJ folders by deleting all the files. Maybe one of those is locked, or has some rights issues, that should be revealed trying to delete it.

What does the OBJ\ … Release or Debug…\AppName.CwProj.FileList.XML file have in it? Sometimes that reveals a cutoff point or unexpected files being included or written.

Perhaps procmon might show what’s getting crunched on when it locks up

I did all that - repeatedly

The log window show this as the last thing

Making DataApp.lib : DataApp.exp changed

The image in my post is from procmon. It just spins away. all the other solutions worked fine.

Yes, is shows the target name.

That looks like Process Explorer. Process Monitor shows the disk writes, certain API calls, etc. You have to be sure to enter a good filter, so you only get messages from your app, or you will get way way too much info zipping by.

Here’s a hint on setting your filter:

image

What .NET should I have installed? Could this be causing an issue?

image

OK solution found, but don’t know why

Somehow the Debug option was set - If Min or Full then it fails to compile and create the DLL/LIB.

Any ideas why this would make a difference. I am sure it was Min most of the time before my migration.

image

2 Likes

I have the same issue: a VM of Windows 10 22H2 with latest updates running Clarion 10.12799. 18 snapshots later, I determined uninstalling .NET Framework 4.8.1 (KB5011048) fixes it. That reverts it back to .NET Framework 4.8.0. I then apply a registry change (How to temporarily block the installation of .NET Framework 4.8.1) which prevents Windows Updates from reapplying 4.8.1. But you still get security updates for 4.8.0.

I suspect it is the version of msbuild in 4.8.1 which is the culprit, since prjserver.exe calls it.

I have a clone of the VM which runs Clarion 11.0.13630 and 11.1.13815, which does have .NET Framework 4.8.1 (KB5011048) installed, and it does not have the issue.

So another solution to try if you need Debug Info enabled for your DLL.

…jack

Hi @ljwilson

I am not sure this is the solution.

I had this error happen to me way back last year before KB5011048, which was released in June this year.

I also have this happening again in the new VM I setup to get around the issue, but that started happening at the beginning of September, and I make sure I update pretty much around Update Tuesday each month, so all was working from June - September.

I have even taken steps to look at PrjServer using DotPeek and creating my own. This doesn’t help though, so the issue will be in the compiler/steps MS build uses to call into the SV code.

It’s so odd as other data.dll projects compile fine, some larger than the one I have issues with.

Maybe something with 4.8 is to do with the problem, although the MS Build targeted by the PrjServer using the Softvelocity.Build.Clarion.Targets file targets the 4.0 version of MS Build.

Obviously that is quite old now as .net 4.0 was released in 2010.

My other issue is I am also developing parts of my application using .Net 4.8, so removing it is not an option.

I’m glad the solution worked for you though.

Mark

Mark,

Actually, .NET 4.8.1 was released August 2022: https://devblogs.microsoft.com/dotnet/announcing-dotnet-framework-481/. The KB5011048 was a security update version of 4.8.1 in June 2023. I was unable to find the original August 2022 version.

When I run taskinfo, it shows this .NET version being access by prjserver.exe:
BinPath "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
which is whatever latest 4.x version you have installed. For the vm where I removed KB5011048 it shows this version for msbuild:

So I believe you should still be able to use your 4.8.x application with .NET 4.8.0, if you want to test on your vm by uninstalling the KB5011048 --it should revert 4.8.1 to 4.8.0 (after making a snapshot first of course :slight_smile: )

…jack

Thanks Jack this fixed the same issue I struck it end of Aug just before leaving for CIDC23. Now back in Australia, yesterday I fired up the install with the issue and your fix cleared it for me.

Graeme

Hi @ljwilson

I have 2 VM’s where this is an issue, one started in Windows 10 recently, the other as mentioned in my first post started last year in a windows 11 VM that is now an abandoned VM.

Over the weekend in the Windows 10 VM I followed your instructions and indeed it did fix the issue, thank you.

As for the Windows 11 VM I had converted it to an insiders VM after I abandoned every day work on it, so the option is not really available here due to Insider getting updated quite often.

I do wish I had a way to report the bug to SV, but I am not able to create a simple “data” app to re-create the issue. Getting the VM to them would be quite difficult I think.

As I wrote off the windows 11 VM a while back, I am not too concerned, however I do feel one day this is going to cause issues for more clarion developers.

Mark