-
Notifications
You must be signed in to change notification settings - Fork 671
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BSOD when handling FSCTL_EVENT_PROCESS_N_PULL #1093
Comments
Thanks @LTRData for the report! |
Got another report now with exact same BSOD (but now with latest driver version). I think I realize now how this could still happen. The fix that calls The question here is what exactly is wrong. Either |
I would agree to do |
I do not know much about the actual origin of the request that ends up like this. In both cases, I only got minidumps with very limited user process information available. But I am certain that it happens very early in the lifetime of the file system device. Right after mount, I would say. |
That can somewhat make sense. The What I expect is that b74b648 will stop the crash but will make the mount fail for the user due to pull event failing. Then we will be able to better understand what is going on from the logs. Does that sound correct ? |
That sounds good! 👍 |
Dokan v1 which had event wait to pull the event, also had that check with a comment that was lost https://github.com/dokan-dev/dokany/blob/v1.5.1.1000/sys/event.c#L347-L351 |
Feature request can skip this form. Bug report must complete it.
Check List
must be 100% match or it will be automatically closed without further discussion. Please remove this line.Environment
Description
Got a dump file from a BSOD from a machine from a person who currently tests an application that I am working on that uses Dokany. She has not been able to replicate the same crash but since the crash dump seems interesting in that I think it might show a possible logic flaw of some kind, I share it here anyway.
The crash happened in
DokanProcessAndPullEvents
where it tries to deference a NULLRequestContext->Vcb
. I see there is code to workaround similar cases inDokanDiskUserFsRequest
with the linerequestContext.Vcb = requestContext.Dcb->Vcb;
, but the problem in this case is thatrequestContext.Dcb->Vcb
is also NULL. The FSCTL code isFSCTL_EVENT_PROCESS_N_PULL
andIrpSp->Parameters.FileSystem
has OutputBufferLength = 0x20000 and InputBufferLength = 0.The text was updated successfully, but these errors were encountered: