Opened 6 years ago

Closed 5 years ago

Last modified 4 years ago

#14466 closed bug (duplicate)

KDL while unmounting BFS image

Reported by: ahwayakchih Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: File Systems/BFS Version: R1/Development
Keywords: KDL, bfs, AutoMounter Cc:
Blocked By: #12847 Blocking:
Platform: x86-64

Description

I'm using BFS files for storing code and apps (for easy moving them around installations and backup). It seems like Haiku KDLs when trying to unmount image that was mounted for a longer period of time (more than hour?) and/or after multiple file operations (multiple makefile runs? or maybe because of multiple git commits?). Unfortunately it's hard to pinpoint it :(. This time it happened after multiple makefile runs, 2 git commits, restarting Deskbar (to make it "let go" my replicant app file on mounted file system) and unmounting file by right-clicking and selecting "unmount".

I did run checkfs on the mounted volume and it did not find any errors.

Not sure if it matters, but i'm running Haiku in VirtualBox, without any vbox addons (or guest helpers AFAIK, as i can't find any in HaikuDepot). I'm also getting KDL's in similar cases when working on disk partition (VirtualBox VDI disk) instead of file partition. But i don't have screenshot of that yet (sorry, did not make one before).

I'm attaching screenshot of KDL. Let me know if i can add some more info.

Attachments (3)

hrev53323-unmount-bfs-image-KDL.png (75.6 KB ) - added by ahwayakchih 6 years ago.
ticket-14466-crash-log-x86_64-hrev52355.txt (4.4 KB ) - added by fbrosson 6 years ago.
ticket-14466-crash-log-x86_gcc2-hrev52355.txt (4.0 KB ) - added by fbrosson 6 years ago.

Download all attachments as: .zip

Change History (9)

by ahwayakchih, 6 years ago

comment:1 by ahwayakchih, 6 years ago

Forgot to add in description that it happened on hrev52323 now, but same (or similar?) KDL happened few time before to me. So at least since hrev52113.

Also it does not matetr if i have VirtualMemory disabled or enabled (it was happening with VM enabled, but i disabled it earlier today, rebooted, and KDL still happened anyway).

comment:2 by fbrosson, 6 years ago

How to reproduce:

1) Create a ramdisk, format it as BFS and mount it on e.g. /ramwork:

ramdisk create -s 256mb

mkfs -q -t bfs /dev/disk/virtual/ram/0/raw ramwork

mountvolume ramwork

2) In haikuports.conf set

TREE_PATH="/boot/home/haikuports"

# OUTPUT_DIRECTORY="/boot/home/haikuports"

OUTPUT_DIRECTORY="/ramwork"

DOWNLOAD_IN_PORT_DIRECTORY="yes"

PACKAGES_PATH="/boot/home/haikuports/packages"

REPOSITORY_PATH="/boot/home/haikuports/repository"

3) Build any package.

haikuporter -S uif2iso

or

haikuporter -S uif2iso_x86

(This is a really small program which builds really quickly.)

4) Try to unmount the ramdisk volume:

mountvolume -u ramwork

It will KDL almost everytime. This bug exists since a long time. It is still there, on hrev52355.

(If you repeat all the steps but skip the call to haikuporter (or comment out the OUTPUT_DIRECTORY in haikuports.conf to have haikuporter use the default directory, "/boot/home/haikuports") then you won't KDL when you unmount the ramdisk volume.)

This used to crash on all architectures.

On x86_64 hrev52355 it still KDLs everytime.

On x86_gcc2 hrev52355 it still KDLs from time to time.

Last edited 6 years ago by fbrosson (previous) (diff)

comment:3 by fbrosson, 6 years ago

UPDATE: It is not even necessary to run haikuporter.

Creating a package with "package create" in a ramdisk seems to be enough to trigger a KDL when the ramdisk is unmounted.

IMHO r1beta1 should NOT be released before this bug gets a fix.

Version 0, edited 6 years ago by fbrosson (next)

comment:4 by waddlesplash, 6 years ago

The crash is is really a "warning" that objects were not freed from the cache. We should fix it, but we can probably disable it at least in the beta branch.

comment:5 by waddlesplash, 5 years ago

Blocked By: 12847 added
Resolution: duplicate
Status: newclosed

comment:6 by nielx, 4 years ago

Remove milestone for tickets with status = closed and resolution != fixed

Note: See TracTickets for help on using tickets.