Debugging early bootloader code can be extremely difficult. The lack of printf and other classical black-box debugging tools means you’re limited to one of the following methods of debugging lockups:
- Arm chair debugging, Changing code, compiling, booting, repeat.
- Using GDB or another debugger tool and stepping through code watching outcome.
Obviously #2 above is more ideal than #1. Welcome to debugging by attaching gdb to qemu!
The steps below really should apply to any architecture. Just replace riscv64 with your architecture of choice.
Hi there, I’m jt15s, a new Haiku community member! I’ve been following the project for a few years now since I stumbled upon an article about Haiku.
If you read the title (which I’m assuming you did), you’re probably going, “wait, we have a promotion team?” Well, yes, now we do. As an informal “team” of two (currently), we are super excited to share our plans to help promote Haiku and make more people aware of it. In fact, this is the second iteration of a promotion team for Haiku. Until 2010, there was an active promotions team. Unfortunately, those who were involved on the team are not active in the Haiku community anymore and hence promotion efforts have mostly been dormant - until now.
Welcome to the November-December activity report!
This report covers hrev54716-hrev54805 (about 5 weeks of work).
Code cleanup
mt fixed various warnings, use-after-free, memory leaks, and dead code problems detected by the clang static analyzer.
X512 reworked app_server memory management to use owning pointers and avoid some
memory leaks and use-after-free cases. This led to a rework of the classes used for that
purpose, in particular AutoDeleter and its variants, to be more efficient and more flexible.
HaikuDepot displays icons through a number of areas of its user interface. Early in the history of the Haiku packaging system, there were very few packages and very few icons. HaikuDepot started off by downloading each individually from HaikuDepotServer.
Download as Tar then Unpack
Downloading each icon file individually was fine for a while, but as the package and hence icon count grew it became necessary to rework this system. HaikuDepotServer later provided the icons as a compressed tar-ball containing all of the icons. You can download this yourself. The tar-ball is unpacked on the Haiku computer into a directory and then the HaikuDepot application reads the individual files from the local disk system.
Welcome to the October activity report!
I had managed to get other people to write the report for a few months, but
not for October, apparently. So, I’m back!
This report covers hrev54609-hrev54715 (about a month and a half work).
The focus is not much on new and exciting features this month, there is a lot
of bug fixing and cleanup work going on, as well as some performance improvements,
and compatibility fixes for easier application porting.
Welcome to the Haiku Monthly Activity Report for September 2020. This report covers revisions from hrev54539 to hrev54608.
System Sounds Contest
We’ve started a contest for the system sounds, and currently it’s ongoing. For more details, see the contest post.
Applications
AlwaysLivid improved the after-install UX via a bunch of Installer and FirstBootPrompt fixes. Now it is possible to exit the FirstBootPrompt to Desktop without having to restart the system.
AlwaysLivid added Mail auto-configure data for mailbox.org and riseup.net.
Welcome to the Haiku Monthly Activity Report for August 2020. This report covers revisions from hrev54480 to hrev54538.
This month is not active as the last one, but we have exciting improvements in the pipeline, since GSOC 2020 is coming to an end, and our developers are working hard to review GSOC projects at a fast pace.
Applications
Humdinger improved accessibility on WebPositive by adding a missing tooltip on Settings window.
Summer! The time to slow down, relax, go to strange places, and do the projects that are long overdue. This summer I had the joy of spending my time in a lovely house near Lyon in France. In many ways the summer was like others, meaning there was plenty of wine and a lot of relaxing activities. At the same time, the Covid situation did give me a lot of reasons to scale back exploratory activities at the tourist hot spots, and instead focus on activities close to home. I decided to seize the opportunity and to see if I could dive into one of my long-standing pet peeves in the Haiku ecosystem.
For a long time I have been maintaining the build of the Rust compiler and development tools on Haiku. For this purpose, I maintain a separate tree with the Rust source, with some patches and specific build instructions. My ultimate end goal is to have Rust build on Haiku from the original source, without any specific patches or workarounds. Instead we are in the situation where we cannot build rust on Haiku itself (instead we need to cross-compile it), and we need a customization to be able to run the Rust compiler (rustc
) and package manager (cargo
) on Haiku. This summer my goal would be to find out the underlying issue, and fix it so that the patch will no longer be necessary in the future. Let’s go!
Hi all. This is my final report on my project aiming to improve Services Kit,
the networking backend behind most native Haiku application, most notably
WebPositive.
Progress made during GSoC
You may find the patches here:
Here’s the summary of some of the outstanding changes:
BMemoryRingIO
is introduced for high-speed cross-thread communication. This
is an implemenation of a circular buffer with BDataIO
interface. The
intended use case for this is for a HTTP/2 implementation, where one thread
will be the multiplexer and request threads will make use of this to retrieve
from the multiplexer.BUrlRequest
will now output directly into a BDataIO
. This simplifies the
API for users as they can now reuse BDataIO
implementations within Haiku
like BFile
, BMallocIO
, etc. without having to implement a
BUrlProtocolListener
.- Introducing
BUrlSession
as a context manager allowing request handlers to
access and store session data. What this will enable is the ability to
reuse previously opened connections, which should reduce latency when
requests are opened against previously connected hosts. This portion is still
a WIP. - A clean up and rearchitecture of HaikuWebKit (WebPositive’s engine) networking
was done which should improve reliablity. The rearchitecture also come with
fixes for HTTP authentication and redirection, which should now function
as well as other browsers.
I’ll be honest, I’m not happy with (relatively) small the amount of work that I
have done during this GSoC, and I’m sorry for have not followed up with my set
goals.