Opened 15 years ago
Closed 15 years ago
#5282 closed bug (fixed)
PANIC: vm_page_fault: unhandled page fault in kernel space at 0x24, ip 0x80039a50
Reported by: | jonas.kirilla | Owned by: | anevilyak |
---|---|---|---|
Priority: | critical | Milestone: | R1 |
Component: | File Systems/BFS | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
See attached file.
Reproducible. Happens with hrev35136.
Attachments (2)
Change History (8)
by , 15 years ago
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Component: | System/Kernel → File Systems/BFS |
---|
The problem appears to be as follows: Inode::ReadAt() calls file_cache_read() with a NULL file cache pointer (which it is not prepared to cope with as it triggers the invalid fault while reading ref->disabled_count), because Inode only creates a cache for files and attributes, which a symlink doesn't match. However, what I don't understand is how this doesn't panic on every symlink.
comment:3 by , 15 years ago
Upon closer inspection, I see why this particular one triggers it: It's long enough for INODE_LONG_SYMLINK to be set in its flags, which triggers the inode read. Otherwise the read isn't needed.
comment:4 by , 15 years ago
Attached a (confirmed working) patch, please review when you get a chance Axel :)
comment:5 by , 15 years ago
Owner: | changed from | to
---|---|
Status: | new → in-progress |
FWIW, the filename is "[haiku-commits] hrev35066 - in haiku_trunk: headers_private_kernel_arch headers_private_kernel_arch_ppc headers_private_kernel_arch_x86 headers_private_kernel_vm src_system_kernel_arch_generic ... 20100114042613 ingo_weinhold"