Opened 11 years ago

Closed 9 years ago

#1689 closed bug (fixed)

acquire_sem doesn't timeout

Reported by: marcusoverhagen Owned by: marcusoverhagen
Priority: blocker Milestone: R1
Component: System/Kernel Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

acquire_sem doesn't timeout after 100ms in the ide stack.

This is reproduceable with hrev23209 and earlier, happens with 4 cores, and also when SMP is disabled by boot menu.

Attachments (6)

haiku-smp-prob12.txt (109.7 KB) - added by marcusoverhagen 11 years ago.
test with 4 cores active
haiku-smp-prob13.txt (67.8 KB) - added by marcusoverhagen 11 years ago.
test with SMP disabled
haiku-smp-prob14.txt (97.9 KB) - added by marcusoverhagen 11 years ago.
retest 1 with syslog disabled
haiku-smp-prob15.txt (66.8 KB) - added by marcusoverhagen 11 years ago.
retest 2 with syslog disabled
haiku-smp-prob16.txt (70.0 KB) - added by marcusoverhagen 11 years ago.
retest 3 with syslog disabled
interrupts.txt (6.0 KB) - added by marcusoverhagen 11 years ago.
Interrupts

Download all attachments as: .zip

Change History (13)

Changed 11 years ago by marcusoverhagen

Attachment: haiku-smp-prob12.txt added

test with 4 cores active

Changed 11 years ago by marcusoverhagen

Attachment: haiku-smp-prob13.txt added

test with SMP disabled

comment:1 Changed 11 years ago by axeld

So it's inside dprintf_args() and never returns from there? What the hell is it doing there? Is it possible that writing to the syslog is the problem here?

Changed 11 years ago by marcusoverhagen

Attachment: haiku-smp-prob14.txt added

retest 1 with syslog disabled

Changed 11 years ago by marcusoverhagen

Attachment: haiku-smp-prob15.txt added

retest 2 with syslog disabled

Changed 11 years ago by marcusoverhagen

Attachment: haiku-smp-prob16.txt added

retest 3 with syslog disabled

comment:2 Changed 11 years ago by marcusoverhagen

I disabled syslog and retried three times. First try was different, but 2 and 3 get stuck at the same point.

Changed 11 years ago by marcusoverhagen

Attachment: interrupts.txt added

Interrupts

comment:3 Changed 11 years ago by marcusoverhagen

I think it is quite likely that the IDE stack never acknowleges the IRQ 11, and that is the reason why the system is stuck at the restore_interrupts() after dprintf.

I'll have a look at that.

comment:4 Changed 11 years ago by axeld

Owner: changed from axeld to marcusoverhagen

comment:5 Changed 10 years ago by jackburton

Is this still valid ?

comment:6 Changed 10 years ago by stippi

Milestone: R1/alpha1R1

Even if this is still valid, it's certainly an issue on specific hardware, not a general issue. Therefore I don't believe it should be in the R1/alpha1 milestone.

comment:7 Changed 9 years ago by marcusoverhagen

Resolution: fixed
Status: newclosed

this was resolved by switching to ATA stack

Note: See TracTickets for help on using tickets.