genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.05k stars 248 forks source link

Sculpt 23.04 consolidation #4820

Closed m-stein closed 1 year ago

m-stein commented 1 year ago

This may serve as a top level issue for all issues that arise while testing preliminary Sculpt 23.04 on staging.

ssumpf commented 1 year ago

@cnuke, @alex-ab: I can finally trigger the DMAR faults on my working laptop (T470p). It happens only when one starts the Doom3 Demo (not the full version as I did). Will start to investigate.

m-stein commented 1 year ago

@cnuke Thanks for the explanation! It's not very satisfactory for sure but I'm glad you fixed it. However, the breaking commit is https://github.com/genodelabs/genode/commit/cc9368ccb45e7f9c972898d00c89bb7b5daa3b6a. It implies that stat on vfs dirs returns 0 instead of num_dirs * dir_ent_size and introduces the num_entries rpc as a more performant way of getting this information. Does this help you understand why your patch solves the issue?

m-stein commented 1 year ago

I just back-ported this fix 32cd79933896e35f74f208a0bc1725bf818d01be from my cbe topic branch. It fixes the problem with current Sculpt 23.04 that entering a wrong passphrase when unlocking an existing file vault renders the application stuck and should, IMHO, be merged for the release.

alex-ab commented 1 year ago

@cnuke, @alex-ab: I can finally trigger the DMAR faults on my working laptop (T470p). It happens only when one starts the Doom3 Demo (not the full version as I did). Will start to investigate.

@ssumpf: I wrapped up my debugging state and send you an email with the current findings.

nfeske commented 1 year ago

BTW, I have now merged the system dialog (presets and system update features) to staging. I also published an image index and current image at https://depot.genode.org/nfeske_test/image/.

nfeske commented 1 year ago

Now, not not.

atopia commented 1 year ago

Judging by the error message it appears that the driver already has a session attached to left channel. Is there by any chance already an _Audioout client using the driver when you try to start the mixer?

I thought I had not, but I must have changed vbox' Audio_out from a direct bsd_audio_drv to mixer which caused the issue. I had various config issues today because I accidentally didn't save a known good configuration, sorry for the noise!

nfeske commented 1 year ago

I had various config issues today because I accidentally didn't save a known good configuration

I hope that the new preset feature will get you covered. ;-)

Edit: audio support is notably missing from the presets though

alex-ab commented 1 year ago

@cnuke, @alex-ab: I can finally trigger the DMAR faults on my working laptop (T470p). It happens only when one starts the Doom3 Demo (not the full version as I did). Will start to investigate.

Thanks @ssumpf for finding the reason in the Intel manual. I prepared and tested the commits 37cf252d9c638ad87e5a71e3e312d85870da2087 and 1d6b27ad5ad411d50300333f6ea9ca70e4cbb923 and could not trigger the faults in the doom3 case anymore.

ssumpf commented 1 year ago

@chelmuth : 717e2c5 adds a comment for https://github.com/genodelabs/genode/commit/50939adeed7a7ad16858bfc47d93db0a43e84f14c5.

ssumpf commented 1 year ago

@cnuke, @alex-ab: I can finally trigger the DMAR faults on my working laptop (T470p). It happens only when one starts the Doom3 Demo (not the full version as I did). Will start to investigate.

Thanks @ssumpf for finding the reason in the Intel manual. I prepared and tested the commits 37cf252 and 1d6b27a and could not trigger the faults in the doom3 case anymore.

@alex-ab: You beat me by 10 minutes :smirk:. Will go with your version. Looks good to me :+1:

chelmuth commented 1 year ago

@chelmuth : 717e2c5 adds a comment for 50939ad.

Perfect! Merged to staging.

chelmuth commented 1 year ago

Thanks @ssumpf for finding the reason in the Intel manual. I prepared and tested the commits 37cf252 and 1d6b27a and could not trigger the faults in the doom3 case anymore.

Merged to staging.

cproc commented 1 year ago

When I just downloaded an index file or installed a depot package in Sculpt, I saw the log filling up with [init -> runtime -> update -> manager] installation complete messages until I closed the menu view.

nfeske commented 1 year ago

@cproc, thanks for reporting. Unfortunately, I am not able to reproduce this with the latest image. For reference, I've published the image as nfeske_test version 2023-04-27. (you can try out the new system update mechanism to switch over to this image)

Could you provide me with concrete steps of how to trigger the loop? I.e., which depot user, which package, and where to click?

BTW, there is one known situation that can trigger such a loop. That is when a pkg/runtime file wrongly refers to a <rom> module that exists nowhere in any of the pkg's dependencies. Such internal inconsistencies of published pkgs are currently not anticipated. Instead, when any rom specified on the pkg/runtime is missing in the depot, Sculpt assumes that the download was interrupted and kicks off the update subsystem. However, the update subsystem does not look at the pkg/runtime files. So any inconsistency in those files is not reflected as download failure. Do you happen to have triggered this specific corner case? If yes, I'd recommend fixing the pkg/runtime file of the offending package.

cnuke commented 1 year ago

I can reproduce the issue on current staging to some degree. During pkg installation the LOG is filled up with installation complete entries (the amount varies between 10 to 50) and it might take some time after the progress view has vanished for the routing-dialog to appear but eventually it does.

cnuke commented 1 year ago

I can reproduce the issue on current staging to some degree. During pkg installation the LOG is filled up with installation complete entries (the amount varies between 10 to 50) and it might take some time after the progress view has vanished for the routing-dialog to appear but eventually it does.

EDIT: Sculpt is booted via iPXE, build with DEPOT=omit and the ram_fs is used as target.

nfeske commented 1 year ago

Thanks @cnuke. I can see the issue now, via qemu when downloading the genodelabs index using the ram fs. Investigating...

nfeske commented 1 year ago

Commit https://github.com/genodelabs/genode/commit/6717494c5b8c3a7008bc839aa25d5eaf5f236617 should fix the issue. I updated my today's sculpt image. Before downloading & installing, make sure to remove the one from both the depot/nfeske_test/image and public/nfeske_test/image. I'd appreciate your feedback.

cproc commented 1 year ago

Commit 6717494 should fix the issue. I updated my today's sculpt image. Before downloading & installing, make sure to remove the one from both the depot/nfeske_test/image and public/nfeske_test/image. I'd appreciate your feedback.

Yes, that fixed it.

cnuke commented 1 year ago

@nfeske thanks for the commit, it solves the problem.

nfeske commented 1 year ago

I have added a few further UI refinements to staging, which solve several glitches related to the keyboard entry into the depot user URL field, and related to the switching between different sculpt partitions. For giving it a spin, I have just updated my today's image to the latest version. (as nfeske_test)

chelmuth commented 1 year ago

We released Sculpt last Friday. Thanks to everybody for your assistance.