Opened 6 years ago

Last modified 5 years ago

#2180 new feature request

Any installed signal handler stops deadlock detection, but XCPU never happens in a deadlock

Reported by: Baughn Owned by: Baughn
Priority: normal Milestone:
Component: Runtime System Version: 6.9
Keywords: Cc: svein.ove@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The runtime system's deadlock detection, being a debugging feature, rightly doesn't break a deadlock if there's any chance a signal will do so later. However, if the only installed signal is XCPU - cpu time-limit exceeded - then that will almost never happen in practice; any program that does want to wait for it will be waiting quite literally years.

As such, it seems best if XCPU is left out of the signal-detection logic. The attached patch does this.

Attachments (1)

xcpu.bundle (128.8 KB) - added by Baughn 6 years ago.

Download all attachments as: .zip

Change History (9)

Changed 6 years ago by Baughn

comment:1 Changed 6 years ago by Baughn

  • Status changed from new to assigned

comment:2 Changed 6 years ago by igloo

  • Difficulty set to Unknown
  • Milestone set to 6.10 branch

Thanks for the suggestion, and patch! It feels a little ad-hoc to me, and some applications may use the signal for other purposes; any other opinions?

comment:3 Changed 6 years ago by Baughn

You are quite right. This patch fixes the immediate problem caused by another patch to lambdabot (that still hasn't been applied) removing loop detection in this specific instance, but a more discriminating system could be helpful.

How about if I write a patch adding an explicit mask/unmask call for this?

comment:4 Changed 6 years ago by simonmar

I think this needs to be under programmer control if we do it at all.

Also, the patch doesn't affect the behaviour of the threaded RTS, we should make sure the two behave consistently.

comment:5 Changed 6 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:6 Changed 6 years ago by simonmar

  • Operating System changed from Multiple to Unknown/Multiple

comment:7 Changed 5 years ago by igloo

  • Milestone changed from 6.10 branch to 6.12 branch

comment:8 Changed 5 years ago by igloo

  • Milestone changed from 6.12 branch to _|_
Note: See TracTickets for help on using tickets.