www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Are there any known remaining deadlock bugs in OPTLINK?

reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
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
next sibling parent Arjan <arjan ask.me.to> writes:
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 25
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
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
parent Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
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.
May 27