Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#3190 closed bug (fixed)

[BFS] checkfs crash

Reported by: Adek336 Owned by: axeld
Priority: critical Milestone: R1
Component: File Systems/BFS Version: R1/pre-alpha1
Keywords: Cc: olive@…
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

On my desktop computer (not the one I mentioned in #3150)

~> checkfs /haiku-dane -c

crashes

hrev28736
/haiku-dane is 10gb.

Attachments (1)

img_1062.jpg (262.6 KB) - added by Adek336 10 years ago.

Download all attachments as: .zip

Change History (10)

Changed 10 years ago by Adek336

Attachment: img_1062.jpg added

comment:1 Changed 10 years ago by Adek336

reproducible

comment:2 Changed 10 years ago by axeld

Component: - GeneralFile Systems/BFS
Priority: normalcritical

Then you should trespass line 1389 in BlockAllocator.cpp, ie. the checking process is trying to delete a file - can you confirm? If that's not the case, we need a generic mechanism that defers trimming when the check is run.

Just don't format that partition for now ;-)

comment:3 Changed 10 years ago by Adek336

If you mean

   1389 					inode->Node().flags
   1390 						|= HOST_ENDIAN_TO_BFS_INT32(INODE_DONT_FREE_SPACE);

this, then no, it isn't hit.

comment:4 Changed 10 years ago by karmak

Cc: olive@… added

Attaching my KDL. Seems the same bug. hrev28752 on real hardware (IBM R52). My /boot is a 20Gb partition on the main hard disk. I've been using it for 2 weeks without any problem, except a few KDL. To update my system, I always update a 200Mb image on an USB key, then boot from USB key, and diff -r the key and the disk beos/ dirs, then copy the file which differ.

Yesterday the diff/cp process went fine but at reboot, the bootloader said 'Current Boot volume: (None)'. I rebooted on the USB key, rediffed -r and it reported that kernel_x86 was different, although I had copied the newer one. I copied it once more from the key, rebooted, and all went fine.

Today, the same problem appeared, despite the fact that after diff/cp operations, I runned "sync;sync;sync", unmounted the hard drive partition, then remounted it. You bet it, mounting and rediffing showed differences on some files I had copied before unmounting...

I decided to checkfs my hard drive volume, and it leds me to the attached KDL.

Note that I'm not very familiar with KDL and kernel internals. I read the tutorial on haiku-os.org, but didn't understand everything. If you need me to investigate, I suggest you guide me with commands to type...

comment:5 Changed 10 years ago by karmak

Sorry, Trac refuses to post my attachment, complaning "failed to create unique name" 3 times and one time crashing completely because of "too many open files". I strongly believe this problem comes from the hosting machine.

You can find my attachment at http://deep-ocean.net/files/haiku/checkfs_KDL_karmak.jpg

comment:6 Changed 10 years ago by anevilyak

It's a known problem that happens to Trac every now and then, nielx has been working on trying to find what causes it.

comment:7 Changed 10 years ago by axeld

Resolution: fixed
Status: newclosed

Should be fixed in hrev28845, please confirm.

comment:8 Changed 10 years ago by karmak

Fixed for me. I have been able to check my main FS on the Thinkpad without problem from an up-to-date Haiku (hrev28845) on an USB Key. BTW, no errors were reported by checkfs.

Thanks and have a happy new year !

comment:9 Changed 10 years ago by Adek336

Didn't crash, thanks !

Note: See TracTickets for help on using tickets.