Opened 9 years ago

Closed 9 years ago

#38 closed defect (fixed)

supdrvSessionRetain/supdrvSessionRelease problem

Reported by: Valery V. Sedletski Owned by: Valery V. Sedletski
Priority: blocker Milestone: preview
Component: Driver Keywords: vboxdrv supdrv session release retain breakpoint int3 trap
Cc:

Description

The supdrvSessionRetain / supdrvSessionRelease increment / decrement a reference counter for vboxdr.sys open sessions. And the release count is greater than retain count, so we got

!!Assertion Failed!!
Expression: cRefs < _1M
Location  : N:/src/vbox/src/VBox/HostDrivers/Support/SUPDrv.cpp(1364) uint32_t
supdrvSessionRelease(PSUPDRVSESSION)
0xffffffff fd3e4308

on boot. So, there will be trap 0003 on boot with current vboxdrv.sys from repo. There is a preliminary fix, which I attach to this ticket, but it is not perfect.

So, implement a proper fix.

Attachments (1)

session-release.diff (1.5 KB ) - added by Valery V. Sedletski 9 years ago.
Session retain/release counter fix

Download all attachments as: .zip

Change History (4)

by Valery V. Sedletski, 9 years ago

Attachment: session-release.diff added

Session retain/release counter fix

comment:1 by dmik, 9 years ago

Valerius, you may go on with the suggested fix but your attached diff looks not very correct, the diff based on darwin code you posted here looks ok to me: http://pastebin.com/8EhuDQW0.

comment:2 by Valery V. Sedletski, 9 years ago

The attached fix was just a preliminary. Now I committed the proper fix as svn r67.

comment:3 by dmik, 9 years ago

Resolution: fixed
Status: newclosed

Okay, closing this.

Note: See TracTickets for help on using tickets.