Opened 10 years ago

Closed 10 years ago

#4778 closed bug (fixed)

kernel ignores reserved area too early

Reported by: axeld Owned by: axeld
Priority: critical Milestone: R1
Component: System/Kernel Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #4617, #4780
Has a Patch: no Platform: All

Description

I ran into the misbehaving Tracker again from time to time, so I added debugging info that helped me to track the issue down: Tracker threads are suddenly gone, because they need memory and cannot grow the heap anymore, as there is another area in the way for no reason; even if the address was full (which it is not), the reserved area should have caused the new area to go to its end, not its start.

If the heap can shrink as well, another explanation could be that the reserved area does not contain the complete area after the heap anymore.

Another problem seems to be that abort() does not cause the team to die in this case, only the thread goes away.

Change History (7)

comment:1 Changed 10 years ago by axeld

Blocking: 4780 added

(In #4780) It's possible that this is a duplicate of #4778, at least the outcome is pretty much the same. I'll mark it as a duplicate for now; when #4778 is fixed, and you can still reproduce it, please open it again.

comment:2 Changed 10 years ago by mmlr

In that case you might want to review my recent address range overflow fixes. I've touched much of the spot finding code there. Specifically that'd be hrev33037 and hrev33061.

comment:3 in reply to:  1 Changed 10 years ago by Super Dave Osbourne

Thank you axeld.

comment:4 Changed 10 years ago by axeld

Resolution: fixed
Status: newclosed

Thanks for the pointers, mmlr. hrev33037 was indeed to blame - you changed the way how areas are inserted into reserved areas without checking for their RESERVED_AVOID_BASE flag (which wasn't needed before, as that was the only insertion mode, only the comment above mentioned that flag).

Anyway, the problem should be fixed in hrev33581.

comment:5 Changed 10 years ago by axeld

Resolution: fixed
Status: closedreopened

Unless I messed up updating my kernel, the problem still appears, albeit less often. I'll look into it tomorrow.

comment:6 Changed 10 years ago by axeld

Resolution: fixed
Status: reopenedclosed

Finally fixed in hrev33597.

comment:7 Changed 10 years ago by axeld

Blocking: 4617 added

(In #4617) This seems to be a duplicate of #4778, please try with hrev33598 or higher, and reopen this bug if necessary.

Note: See TracTickets for help on using tickets.