Thread overview
Are there any known remaining deadlock bugs in OPTLINK?
May 25, 2017
Vladimir Panteleev
May 25, 2017
Arjan
May 27, 2017
Walter Bright
May 27, 2017
Vladimir Panteleev
May 25, 2017
Here's three CI runs of the same commit on Windows:

https://ci.appveyor.com/project/CyberShadow/digger/build/1.0.108
https://ci.appveyor.com/project/CyberShadow/digger/build/1.0.109
https://ci.appveyor.com/project/CyberShadow/digger/build/1.0.110

The first two got stuck in a link.exe (OPTLINK) invocation and timed out.

- Does OPTLINK use threads or thread synchronization primitives?
- Is anyone aware of any threading/deadlock bugs in OPTLINK?
- Any known workarounds? Like setting CPU affinity?

I've never experienced such hangs while I was still using Windows on my development machine, though I think I did notice some hangs under Wine.

Digger makes sure to install OPTLINK 8.00.15 (latest at this time, AFAIK) from http://downloads.dlang.org/other/.
May 25, 2017
On Thursday, 25 May 2017 at 14:16:41 UTC, Vladimir Panteleev wrote:

> - Does OPTLINK use threads or thread synchronization primitives?
> - Is anyone aware of any threading/deadlock bugs in OPTLINK?
> - Any known workarounds? Like setting CPU affinity?

Back in the days when I was using the DigtalMars C++ compiler on almost a daily basis I always setted CPU affinity on HT/multicore machines for optlink.exe to avoid lockups.

I'm not aware whether or not there have been any fixes or changes to optlink.exe over the past 8 years regarding this issue.

May 27, 2017
On 5/25/2017 7:16 AM, Vladimir Panteleev wrote:
> Here's three CI runs of the same commit on Windows:
> 
> https://ci.appveyor.com/project/CyberShadow/digger/build/1.0.108
> https://ci.appveyor.com/project/CyberShadow/digger/build/1.0.109
> https://ci.appveyor.com/project/CyberShadow/digger/build/1.0.110
> 
> The first two got stuck in a link.exe (OPTLINK) invocation and timed out.
> 
> - Does OPTLINK use threads or thread synchronization primitives?

Yes.

> - Is anyone aware of any threading/deadlock bugs in OPTLINK?
> - Any known workarounds? Like setting CPU affinity?

The CPU affinity is set in the Optlink executable, as it locks up without it.

> I've never experienced such hangs while I was still using Windows on my development machine, though I think I did notice some hangs under Wine.
> 
> Digger makes sure to install OPTLINK 8.00.15 (latest at this time, AFAIK) from http://downloads.dlang.org/other/.

8.00.17 is the latest.
May 27, 2017
On Saturday, 27 May 2017 at 08:57:28 UTC, Walter Bright wrote:
> 8.00.17 is the latest.

Aah, thanks. It would be nice if it was available as a separate download, or bundled with the latest version of DMC. For now I'll change Digger to extract it from a recent DMD zip file.