Haiku Activity & Contract Report, February 2026 | Haiku Project

This report covers hrev59356 through hrev59430.

humdinger fixed Mail to properly set the “thread” attribute on mail files when sending emails. He also added some missing files to the translation set, and implemented “labels”, a new feature designed to replace custom “statuses”.


This is a companion discussion topic for the original entry at https://www.haiku-os.org/blog/waddlesplash/2026-03-05-haiku_activity_contract_report_february_2026
24 Likes

Nice roundup! Great to see the progress and welcome to the new contributors! :+1:

1 Like

It’s always a highlight of the day to read these. Thanks guys for your hard work.

2 Likes

Haiku is an amazing operating system and look forward to share more stuff on it online including posts and videos. Thanks for this awesome operating system. :slight_smile:

3 Likes

Seems February was a rather active month once again,also with many new contributors which is great.
Welcome to all new contributors :tada:

2 Likes

Ahoy,

waddlesplash fixed a rare crash in BFS that could occur when checking a corrupt filesystem.

Happily reading the patches on gitore and discussions on Trac regarding BFS error tickets then , however my issue still persists in

kernel/fs/vfs.cpp (regarding KDL)

PANIC:ASSERT FAILED (…kernel/fs/vfs.cpp:1124): OldCount >= 0

> Continue

and then

PANIC:ASSERT FAILED (…kernel/fs/vfs.cpp:1063): oldRefCount > 0; vnode fffffftra-ra-ra

> Continue

and so on … these messages switching each other in KDL console until chekfs is executing …

If anything runs beyond a Terminal, then shit happens,

KDL continue finally concludes into

“General Protection Error” with ‘usb_disk scheduler’

I saw some new patches regarding BFS in March now, so I updated again on R1nightly (x86_64) hrev59451

unfortunately my /boot is still corrupted and checkfs actually can’t help me out :confused:

I did nothing just came back in last October (since end of August I took out a new machine and started on Linux as I was prepared for a learning curve on Linux again) and in somewhere in January I did an update I should have skipped …

   user  ~    17:03    grep -E -i error /boot/system/var/log/syslog.1 | grep -E -v -i deferred; echo; echo; echo; grep -E -i error /boot/system/var/log/syslog | grep -E -v -i deferred; echo; echo; echo; checkfs -c /boot; bfsinfo /boot
2026-03-01 00:30:02 KERN: driver busses/mmc/sdhci/acpi/device/v1 init failed: I/O error
2026-03-01 00:30:02 KERN: PCI:   Extended capabilities: Vendor Unique, Advanced Error Reporting, Secondary PCIe, Address Translation Services, Page Request, Process Address Space Id
2026-03-01 00:30:02 KERN: PCI:   Extended capabilities: Vendor Unique, Advanced Error Reporting
2026-03-01 00:30:02 KERN: PCI:   Extended capabilities: Advanced Error Reporting, Serial Number, Power Budgeting, Virtual Channel, Latency Tolerance Reporting, Resizable Bar
2026-03-01 00:30:02 KERN: PCI:   Extended capabilities: Virtual Channel, Advanced Error Reporting, Latency Tolerance Reporting
2026-03-01 00:30:02 KERN: ahci: sata_request::finish ATA command 0xa0 failed: status 0x51, error 0x20
2026-03-01 00:30:02 KERN: ahci: sata_request::finish ATA command 0xa0 failed: status 0x51, error 0x20
2026-03-01 00:30:02 KERN: usb_disk: got device name "SanDisk Ultra USB 3.0 1.00": No error
2026-03-01 00:30:02 KERN: usb_disk: got device name "Samsung Flash Drive FIT 1100": No error
2026-03-01 00:30:02 KERN: KDiskDeviceManager::InitialDeviceScan() returned error: Bad data
2026-03-01 00:30:02 KERN:   media status:      No error
2026-03-01 00:30:02 KERN:   media status:      No error
2026-03-01 00:30:02 KERN:   media status:      No error
2026-03-01 00:30:02 KERN:   media status:      No error
2026-03-01 00:30:02 KERN: driver busses/mmc/sdhci/acpi/device/v1 init failed: I/O error
2026-03-01 00:30:35 DAEMON 'DHCP': /dev/net/ipro1000/0: DHCP status = No error
2026-03-01 00:30:36 KERN: hda: ERROR: No such device(80007007)
2026-03-01 00:30:36 KERN: hda: ERROR: No such device(80007007)
2026-03-01 00:30:37 KERN: acpi_thermal: could not get zone name: General system error
2026-03-01 00:30:37 USER: Error in AllUnarchived method of object of type 5BView
2026-03-01 00:30:37 USER: An error occured during unarchival, cleaning up.
2026-03-01 00:33:36 KERN:  vector: 0x63, error code: 0x0
2026-03-01 01:46:38 KERN:  vector: 0x63, error code: 0x0
2026-03-01 01:46:44 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:16:39 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:16:53 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:16:53 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:17:01 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:17:01 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:17:11 KERN:  vector: 0x63, error code: 0x0
2026-03-01 02:17:20 KERN:  vector: 0x63, error code: 0x0
2026-03-01 03:22:16 KERN: debug_server: KillTeam(): Error getting info for team 7202: Operation on invalid team
2026-03-01 04:06:31 KERN:  vector: 0x63, error code: 0x0
2026-03-01 04:06:37 KERN:  vector: 0x63, error code: 0x0
2026-03-07 15:53:45 KERN: driver busses/mmc/sdhci/acpi/device/v1 init failed: I/O error
2026-03-07 15:53:45 KERN: PCI:   Extended capabilities: Vendor Unique, Advanced Error Reporting, Secondary PCIe, Address Translation Services, Page Request, Process Address Space Id
2026-03-07 15:53:45 KERN: PCI:   Extended capabilities: Vendor Unique, Advanced Error Reporting
2026-03-07 15:53:45 KERN: PCI:   Extended capabilities: Advanced Error Reporting, Serial Number, Power Budgeting, Virtual Channel, Latency Tolerance Reporting, Resizable Bar
2026-03-07 15:53:45 KERN: PCI:   Extended capabilities: Virtual Channel, Advanced Error Reporting, Latency Tolerance Reporting
2026-03-07 15:53:45 KERN: ahci: sata_request::finish ATA command 0xa0 failed: status 0x51, error 0x20
2026-03-07 15:53:45 KERN: ahci: sata_request::finish ATA command 0xa0 failed: status 0x51, error 0x20
2026-03-07 15:53:45 KERN: usb_disk: got device name "SanDisk Ultra USB 3.0 1.00": No error
2026-03-07 15:53:45 KERN: usb_disk: got device name "Samsung Flash Drive FIT 1100": No error
2026-03-07 15:53:45 KERN: KDiskDeviceManager::InitialDeviceScan() returned error: Bad data
2026-03-07 15:53:45 KERN:   media status:      No error
2026-03-07 15:53:45 KERN:   media status:      No error
2026-03-07 15:53:45 KERN:   media status:      No error
2026-03-07 15:53:45 KERN:   media status:      No error
2026-03-07 15:53:45 KERN: driver busses/mmc/sdhci/acpi/device/v1 init failed: I/O error
2026-03-07 15:54:19 DAEMON 'DHCP': /dev/net/ipro1000/0: DHCP status = No error
2026-03-07 16:54:20 KERN: hda: ERROR: No such device(80007007)
2026-03-07 16:54:20 KERN: hda: ERROR: No such device(80007007)
2026-03-07 16:54:21 KERN: acpi_thermal: could not get zone name: General system error
2026-03-07 16:54:21 USER: Error in AllUnarchived method of object of type 5BView
2026-03-07 16:54:21 USER: An error occured during unarchival, cleaning up.



2026-03-07 16:56:47 KERN:  vector: 0x63, error code: 0x0
2026-03-07 17:03:03 KERN: driver busses/mmc/sdhci/acpi/device/v1 init failed: I/O error
2026-03-07 17:03:03 KERN: PCI:   Extended capabilities: Vendor Unique, Advanced Error Reporting, Secondary PCIe, Address Translation Services, Page Request, Process Address Space Id
2026-03-07 17:03:03 KERN: PCI:   Extended capabilities: Vendor Unique, Advanced Error Reporting
2026-03-07 17:03:03 KERN: PCI:   Extended capabilities: Advanced Error Reporting, Serial Number, Power Budgeting, Virtual Channel, Latency Tolerance Reporting, Resizable Bar
2026-03-07 17:03:03 KERN: PCI:   Extended capabilities: Virtual Channel, Advanced Error Reporting, Latency Tolerance Reporting
2026-03-07 17:03:03 KERN: ahci: sata_request::finish ATA command 0xa0 failed: status 0x51, error 0x20
2026-03-07 17:03:03 KERN: ahci: sata_request::finish ATA command 0xa0 failed: status 0x51, error 0x20
2026-03-07 17:03:03 KERN: usb_disk: got device name "SanDisk Ultra USB 3.0 1.00": No error
2026-03-07 17:03:03 KERN: usb_disk: got device name "Samsung Flash Drive FIT 1100": No error
2026-03-07 17:03:03 KERN: KDiskDeviceManager::InitialDeviceScan() returned error: Bad data
2026-03-07 17:03:03 KERN:   media status:      No error
2026-03-07 17:03:03 KERN:   media status:      No error
2026-03-07 17:03:03 KERN:   media status:      No error
2026-03-07 17:03:03 KERN:   media status:      No error
2026-03-07 17:03:03 KERN: driver busses/mmc/sdhci/acpi/device/v1 init failed: I/O error
2026-03-07 17:03:38 DAEMON 'DHCP': /dev/net/ipro1000/0: DHCP status = No error
2026-03-07 17:03:39 KERN: hda: ERROR: No such device(80007007)
2026-03-07 17:03:39 KERN: hda: ERROR: No such device(80007007)
2026-03-07 17:03:39 KERN: acpi_thermal: could not get zone name: General system error
2026-03-07 17:03:39 USER: Error in AllUnarchived method of object of type 5BView
2026-03-07 17:03:39 USER: An error occured during unarchival, cleaning up.



122 (inode = 7602170), has blocks already set
        71357 nodes checked,
        0 blocks not allocated,
        2 blocks already set,
        0 blocks could be freed

        files           65535
        directories     4706
        attributes      619
        attr. dirs      437
        indices         60

        direct block runs               81356 (29,38 GiB)
        indirect block runs             3533 (in 316 array blocks, 37,05 GiB)
        double indirect block runs      0 (in 0 array blocks, 0 bytes)

  Name:                 "HaiQ64_R1Nitely"
  SuperBlock:           valid

  Block Size:                   2048 bytes
  Number of Blocks:        100663296          192,00 GiB
  Used Blocks:              34914825           66,59 GiB
  Free Blocks:              65748471          125,41 GiB
  Bitmap Blocks:                6144           12,00 MiB
  Allocation Group Size:           4 blocks
  Allocation Groups:            1536

  Log:                  (0, 6145, 4096)(null)
                        cleanly unmounted

  Root Directory:       (8, 0, 1)(null)

   user  ~    17:06    bfs_clean_boot.sh 

   Executing -   checkfs -c /boot   - to find possible/real BFS filesystem erros of installed Haiku operating system ... 

122 (inode = 7602170), has blocks already set
        71357 nodes checked,
        0 blocks not allocated,
        2 blocks already set,
        0 blocks could be freed

        files           65535
        directories     4706
        attributes      619
        attr. dirs      437
        indices         60

        direct block runs               81356 (29,38 GiB)
        indirect block runs             3533 (in 316 array blocks, 37,05 GiB)
        double indirect block runs      0 (in 0 array blocks, 0 bytes)

   Executing -   checkfs /boot  -  to attempt to fix (possible or existing) filesystem errors ...  

122 (inode = 7602170), has blocks already set
        71357 nodes checked,
        0 blocks not allocated,
        2 blocks already set,
        0 blocks could be freed

        files           65535
        directories     4706
        attributes      619
        attr. dirs      437
        indices         60

        direct block runs               81356 (29,38 GiB)
        indirect block runs             3533 (in 316 array blocks, 37,05 GiB)
        double indirect block runs      0 (in 0 array blocks, 0 bytes)

   Re-executing -   checkfs -c /boot  -  to validate fix attempt result(s) 

122 (inode = 7602170), has blocks already set
        71357 nodes checked,
        0 blocks not allocated,
        2 blocks already set,
        0 blocks could be freed

        files           65535
        directories     4706
        attributes      619
        attr. dirs      437
        indices         60

        direct block runs               81356 (29,38 GiB)
        indirect block runs             3533 (in 316 array blocks, 37,05 GiB)
        double indirect block runs      0 (in 0 array blocks, 0 bytes)

 
 BFS filesystem check / possible fix / re-check -- DONE. Bye-bye !.. 

   user  ~    17:10    

In the section above you can see

my ‘daily check’

and an attept to fix BFS corruption.

What you cannot see, the KDLs, those happen during running
checkfs -c /boot
and
checkfs /boot

Unfortunately I have no recording device that would provide readable output as photos or a video.

I tried to use BeScreenCapture - in a more than a year old Haiku 64 bit -, as of course to use the screen capture (I mean taking a picture) app during - when KDL is ON - not an option.

Then I hoped to launch before the KDL

¤ may save a usable clip

¤ at least avoid the General error - it had happend so,

however

¤ the given directory, on a separated USB thumbdrive, was empty

¤ and checkfs could not fix this inode issue, even there.

This way I cannot open a ticket about it as it regularly expected.

1 Like

It’s not possible to fix “blocks already set” disk corruption, the only thing that can be done is to delete the affected files.

We shouldn’t KDL at any rate though. If you have screenshots of the full KDL, that may be enough to file a ticket and see if the crashes at least can be avoided.

1 Like

I ment screenhots, when I wrote I have no recording device, a digital camera stuff or smartphone.

I attempted to use BeScreenCapture for reasons I wrote above - I launched before the commands issued by a script in the Terminal.

Then I attempt to find the way to identify the affected file(s).

I assumed I would do finally that way if no other chance - I must find/read the identifying process how it works regarding BFS.

If the panic is continuable, then it will be written out to the syslog after continuing, so it can be “captured” that way.

The filename for at least one of the affected files is listed in your log:

122 (inode = 7602170), has blocks already set
1 Like

Thanks, @waddlesplash ! :chocolate_bar:

Thank you very much for guiding me.

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

The following lines below would mean helpful for someone would search in the forum for

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

BFS + blocks already set

or

checkfs + blocks already set

It was really file a name ‘122’.

The identification was quite simple – I used find command (a lot - until finally resolved).

It was in a browser cache. However it was not enough. I supposed only 2 files, but directory(ies ?) also got involved and a package too.

I erased 122 and all files there - then rerun the checkfs. I got a file cannot be opened, and

PANIC vnod_put failed ! for that inode

Then rebooted, as checkfs still not run well, however the file by inode number was erased, as prompt came back empty.

After the reboot the checkfs reported missing file, checked for it by inum.

find /boot -inum 11206841

rm -rf /boot/home/Old_Floorp_Data/suf4jyon.default-default/storage/permanent/chrome/idb/2918063365piupsah.files

find /boot -inum 11206841

Successfully deleted - However I got another ones, so finally I removed the whole Floorp saving directory’s content, and meanwhile …

deinstalled
Inkscape
and reinstalled

- as it came back for a directory inode.

Also once I recognized that
checkfs already reports that 2 blocks can be freed - so did it by
checkfs /boot .
That did it, freed the 2 blocks however checkfs went KDL and reported
PANIC vnode_put (7602170) had not found! or failed .. some similar .. it was the original inode number, my God ??!

Also rebooted several times - it was necessary !!!
Finally just a noname dir remained by checckfs, no KDL,

then I removed the Floorp main old data save directory and rebooted !

After boot finished I was happy when finally checkfs reported healthy BFS :cowboy_hat_face:

   user  ~    20:29    checkfs -c /boot; bfsinfo /boot
        70488 nodes checked,
        0 blocks not allocated,
        0 blocks already set,
        0 blocks could be freed

        files           64907
        directories     4465
        attributes      619
        attr. dirs      437
        indices         60

        direct block runs               80456 (29,37 GiB)
        indirect block runs             3534 (in 317 array blocks, 37,05 GiB)
        double indirect block runs      0 (in 0 array blocks, 0 bytes)

  Name:                 "HaiQ64_R1Nitely"
  SuperBlock:           valid

  Block Size:                   2048 bytes
  Number of Blocks:        100663296          192,00 GiB
  Used Blocks:              34903382           66,57 GiB
  Free Blocks:              65759914          125,43 GiB
  Bitmap Blocks:                6144           12,00 MiB
  Allocation Group Size:           4 blocks
  Allocation Groups:            1536

  Log:                  (0, 6145, 4096)(null)
                        cleanly unmounted

  Root Directory:       (8, 0, 1)(null)

   user  ~    20:30    

Besides my issues - I am really happy how many new contributors arised

and how many GSoC applicants arrived this year !!

This brought here many who interested in filesystem development and fix - one of my favourite topic.

It is interesting for me due to AFTER last years (2022-2025) ‘Haiku only’

I went back to Linux to have some relaxed when things “just works” – and free hours

not filled by solving HW/SW problems.

I cannot blame Haiku only.

It seems my precious Dell Precision M6700 finally had 2 leaking memory of the 4 panels ,

so I had to saddle onto the newer M6800 that bought with another intent that required Linux.

As I overspent and now I have nowhere to stretch again, so I use it primarily with Linux and as Haiku already on USB, it was no problem to boot using bootlist.

I look forward

–> BFS extension capabilities – if that development continues, then an installer FS can be increased after dd command method used for pendrive creation.

1 Like