Opened 9 years ago

Last modified 8 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: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

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 9 years ago.

Download all attachments as: .zip

Change History (9)

Changed 9 years ago by Baughn

Attachment: xcpu.bundle added

comment:1 Changed 9 years ago by Baughn

Status: newassigned

comment:2 Changed 9 years ago by igloo

difficulty: Unknown
Milestone: 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 9 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 9 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 8 years ago by simonmar

Architecture: UnknownUnknown/Multiple

comment:6 Changed 8 years ago by simonmar

Operating System: MultipleUnknown/Multiple

comment:7 Changed 8 years ago by igloo

Milestone: 6.10 branch6.12 branch

comment:8 Changed 8 years ago by igloo

Milestone: 6.12 branch_|_
Note: See TracTickets for help on using tickets.