Opened 12 years ago

Closed 12 years ago

#2896 closed bug (fixed)

Assertion fails at boot with r28255 using ATA bus manager

Reported by: thotypous Owned by: bonefish
Priority: normal Milestone: R1
Component: Drivers/Disk Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: x86

Description

How to reproduce: Boot hrev28255 in a NEC Versa M360 laptop.

Experienced behavior: Crashes with assertion fail.

src/add-ons/kernel/bus_managers/ata/pio.c:166: ASSERT((physicalAddress & 4097) == (virtualAddress & 4097))

This crash started occurring after the hrev28244 changes.

I could boot Haiku with no problems after disabling the assertion checking in the source code, but I don't know if it's safe.

My patch is attached, although I don't know if it's safe.

Attachments (1)

pio-remove-assert.diff (526 bytes ) - added by thotypous 12 years ago.
Patch that fixed my problem (I don't know if it's safe)

Download all attachments as: .zip

Change History (4)

by thotypous, 12 years ago

Attachment: pio-remove-assert.diff added

Patch that fixed my problem (I don't know if it's safe)

comment:1 by umccullough, 12 years ago

Seems I ran into the same failure on my core 2 duo box using hrev28255.

Considering I haven't used this machine in a while, i'm not sure what caused this.

comment:2 by marcusoverhagen, 12 years ago

Owner: changed from marcusoverhagen to bonefish

Removing the ASSERT is vertainly not a good solution, when you don't understand whats going wrong.

Probably caused by hrev28244, reassigning to bonefish.

comment:3 by bonefish, 12 years ago

Resolution: fixed
Status: newclosed

Fixed in hrev28257. The assert was broken. It only worked with the old page mapper, because it would map the physical page to a virtual address with the same 4 MB modulo.

Note: See TracTickets for help on using tickets.