How to pull in commits in between two deployment?

I encounter GDM startup hanging after install an update.
https://bugzilla.redhat.com/show_bug.cgi?id=1960937

Trying to reproduce the problem, I freshly installed below which is a good deployment.
ostree://fedora:fedora/rawhide/x86_64/silverblue
Version: Rawhide.20210511.n.2 (2021-05-11T23:30:14Z)
Commit: 46bc42198d7ba01dca6b126b6e210bbf31b2aad3ef5d31754ccac5e6194c9e9c
GPGSignature: Valid signature by 787EA6AE1147EEE56C40B30CDB4639719867C58F

Once I update to the latest by rpm-ostree update, I got a bad deployment.
ostree://fedora:fedora/rawhide/x86_64/silverblue
Version: Rawhide.20210514.n.0 (2021-05-14T06:04:28Z)
BaseCommit: 49fa46896e4ac009dc476f4149eb1ce526acd6fe40a54020391ccfe4de8d8b4f
GPGSignature: Valid signature by 787EA6AE1147EEE56C40B30CDB4639719867C58F
LayeredPackages: libguestfs-tools libvirt-client libvirt-daemon-config-network libvirt-daemon-kvm qemu-kvm virt-install virt-manager virt-top virt-viewer
(The problem still there without all the layered packages.)

Question:
Can I do a “bisect” of Deployments between 20210511 and 20210514 to determine which update caused this problem?

1 Like

See @dustymabe’s script: ostree-releng-scripts/rpm-ostree-bisect at master · ostreedev/ostree-releng-scripts · GitHub

1 Like

Thank you for the pointer.

After reading the script, I am not sure how to make use of it:

  1. The script is expecting a testscript which will determine if a deployment is GOOD or BAD. I have almost no skill on script writing. Thus not sure how to write a test script to determine if GDM hangs on start or not.

  2. What is the correct way and where to mark the known GOOD entry and BAD entry?

  • Is it if my rpm-ostree status only have tww entries, which 0 is BAD and 1 is GOOD, then I can skip this step?

This post should help you here: Rolling back Silverblue to older release (without saved deployment)? - #3 by bkhl

1 Like

Thank you very much!

Your linked post is clear and simple for me to follow.

I started the manual bisect process now.

This writeup about it might help. RPM-OSTree Bisecting Helps Track Down Boot Timeout Issue - A Random Walk Down Tech Street

If you do use it I’d recommend using it on a test system (VM or spare machine) if possible just in case something goes sideways.

1 Like

Thank you for the pointers.

I have try to run the script with a dummy testscript.

In the first run, it downloads ALL the metadata of commits in reverse time order - which after 30 minutes it is only have reached 2000 in my machine.

Still I have no idea how to write the needed test script to determine GDM hangs or not.

And that is the reason why running the bisect manually is much easier for novice users like me.