matt-wu / Ext3Fsd

Ext2/3/4 file system driver for Windows
http://www.ext2fsd.com
710 stars 106 forks source link

BSOD 'BAD_POOL_CALLER' in Windows 10 #8

Open ghost opened 7 years ago

ghost commented 7 years ago

This happened while a lot of I/O was directed to my temp folder, which is symlinked from %AppData%\Temp and %WinDir%\Temp to a folder on an ext4 volume.

4: kd> !analyze -v


  • *
  • Bugcheck Analysis *
  • *

BAD_POOL_CALLER (c2) The current thread is making a bad pool request. Typically this is at a bad IRQL level or double freeing the same allocation, etc. Arguments: Arg1: 0000000000000007, Attempt to free pool which was already freed Arg2: 000000004a424b43, (reserved) Arg3: 00000000040a0018, Memory contents of the pool block Arg4: ffffa0068e4956f0, Address of the block of pool being deallocated

Debugging Details:

POOL_ADDRESS: ffffa0068e4956f0

FREED_POOL_TAG: CKBJ

BUGCHECK_STR: 0xc2_7_CKBJ

DEFAULT_BUCKET_ID: CODE_CORRUPTION

PROCESS_NAME: System

CURRENT_IRQL: 0

ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500) amd64fre

LAST_CONTROL_TRANSFER: from fffff80348e62ceb to fffff80348d5f6f0

STACK_TEXT:
ffffc901ae0979c8 fffff80348e62ceb : 00000000000000c2 0000000000000007 000000004a424b43 00000000040a0018 : nt!KeBugCheckEx ffffc901ae0979d0 fffff802d5d3c92e : ffffa0068e4956f0 ffffa0068d561640 0000000000000000 000000000000000a : nt!ExDeferredFreePool+0x54b ffffc901ae097ab0 fffff802d5d3ca9b : 01d26ab0103d2a00 ffffa0068b5fc100 ffffa0068ae002c8 01d26ab0103d2a01 : Ext2Fsd+0xc92e ffffc901ae097ae0 fffff802d5d347a8 : 01d26ab0103d2a00 ffffa0068ae002c8 01d26ab0103d2a02 0000000000000080 : Ext2Fsd+0xca9b ffffc901ae097b10 fffff80348c17729 : ffffc901ac391100 fffffffff4143e00 ffffa0068b5fc1b0 ffffa0068ae002c8 : Ext2Fsd+0x47a8 ffffc901ae097b90 fffff80348d64bb6 : ffffc901ac391180 ffffa0068ad2b040 fffff80348c176e8 0000000000000000 : nt!PspSystemThreadStartup+0x41 ffffc901ae097be0 0000000000000000 : ffffc901ae098000 ffffc901ae091000 0000000000000000 0000000000000000 : nt!KiStartSystemThread+0x16

STACK_COMMAND: kb

CHKIMG_EXTENSION: !chkimg -lo 50 -d !nt fffff80348c16595 - nt!MiDuplicateCloneLeaf+39 [ fa:ec ] fffff80348c1ab86 - nt!MiEnumerateLeafPtes+26 (+0x45f1) [ f6:b1 ] ... lots of similar output removed for brevity ... WARNING: !chkimg output was truncated to 50 lines. Invoke !chkimg without '-lo [num_lines]' to view entire output. 3024 errors : !nt (fffff80348c16595-fffff8034927c32a)

MODULE_NAME: memory_corruption

IMAGE_NAME: memory_corruption

FOLLOWUP_NAME: memory_corruption

DEBUG_FLR_IMAGE_TIMESTAMP: 0

MEMORY_CORRUPTOR: LARGE

FAILURE_BUCKET_ID: MEMORY_CORRUPTION_LARGE

BUCKET_ID: MEMORY_CORRUPTION_LARGE

ANALYSIS_SOURCE: KM

FAILURE_ID_HASH_STRING: km:memory_corruption_large

FAILURE_ID_HASH: {e29154ac-69a4-0eb8-172a-a860f73c0a3c}

Followup: memory_corruption

Pardon the horrible formatting, that is github's fault for not supporting something line [code]...[/code].

If you have a pdb file with debugging symbols available, I may be able to get you some more details, since the instruction pointer was suggested to be completely inside ext2fsd code. Note: this is not consistently reproducible; apart from this one-time event, I have never had a single issue with ext2fsd. Still, I have this 800 MB crashdump, and if it can help improve ext2fsd, I would be happy to invest some time in playing around with said crashdump.

Thank you very much for the awesome software!

Jeroen6 commented 7 years ago

I will join in, similar bug check 0x4E: PFN_LIST_CORRUPT with argument 0x07 during high activity.

A driver has unlocked a certain page more times than it locked it.

Edit: I should add that I later noticed the disk was severely end of life with 1037 defective, but no remapped, sectors. Kudos to ext and ext2fsd for being able to work on it in the first place.