You are not logged in.

#1 2023-08-05 21:27:45

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,591
Website

Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

I am trying to bisect mesa.  I know the good tag was mesa-23.0.3 and the bad tag was mesa-23.1.1.  I built the first commit git bisect gave me, and it has the bug.  When I told git the commit was bad, instead of giving a new commit try, it gave me a range where the bug was fixed.  What I am doing incorrectly?

% cd path/to/mesa
% git bisect start
% git bisect good $(git show-ref -s mesa-23.0.3)
% git bisect bad $(git show-ref -s mesa-23.1.1)
Bisecting: a merge base must be tested
[ebdf6a79266b2b2249b549707fcdbaf9eae905ce] intel/genxml: Drop CACHE_MODE_SS definition.

So ebdf6a built, and triggered the bug.  Now:

% git bisect bad                                
The merge base ebdf6a79266b2b2249b549707fcdbaf9eae905ce is bad.
This means the bug has been fixed between ebdf6a79266b2b2249b549707fcdbaf9eae905ce and [77661a60228061aa5d78107e0de5c58c803a57a4].

I'm not sure how to continue with the bisect.

When I look at git log, I can find the ebdf6a commit by searching for it but I cannot find the 77661a commit.

Last edited by graysky (2023-08-06 15:00:50)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#2 2023-08-05 23:00:13

yochananmarqos
Member
Registered: 2020-02-05
Posts: 193

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

EDIT: Redacted. Completely misunderstood, sorry.

Last edited by yochananmarqos (2023-08-06 00:27:57)

Offline

#3 2023-08-06 08:05:30

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,591
Website

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

From what I am seeing, the main branch does not contain all commits.  It seems that the 23.0.3 release and the 23.1.1 release are contained across two branches (23.0 and 23.1).  I am not sure how to bisect across two branches.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#4 2023-08-06 09:56:57

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,814

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

Correct, mesa creates a new branch for the release versions and develops them separately from main.

https://gitlab.freedesktop.org/mesa/mes … 8c803a57a4 is the point where 23.0.3 started.
The commit bdf6a79266b2b2249b549707fcdbaf9eae905ce is the last commit the 23.0 and 23.1 trees have in common .

Since you verified at that point the bug already existed, this is what happened :

after 23.0 was branched off the issue was found and fixed, but only in the 23.0 tree .
the main tree still had the bug and it landed in the 23.1 tree.

Bisecting between branches is not possible, but there are ways to narrow down the range where things went wrong.

I suggest you :
test latest mesa trunk to verify if main still has the bug
If it doesn't , you can bisect main to see where the bug got fixed and get it backported if needed.

Incase main still has the bug :

Does the latest version of the 23.1 branch (23.1.5) have the bug ?
If no, the fix can be found by bisecting the 23.1 branch

In case 23.1.5 still has the bug, the only place where the fix can be found is by bisecting the 23.0 branch .

Sidenote :

as you found in your other thread not all commits given by git bisect are guaranteed to build .
usually build failures are fixed a few commits later. What I do in such case is manually choose a different commit between the current good & bad commits and try to build that.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2023-08-06 10:20:55

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,591
Website

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

I found this post suggesting that instead of using good/bad one can use new/old.  That allowed me to bisect on the main branch successfully.

% git bisect new $(git show-ref -s mesa-23.0.4)
You need to start by "git bisect start"

Do you want me to do it for you [Y/n]? y
status: waiting for both good and bad commits
status: waiting for good commit(s), bad commit known
 /scratch/mesa (git)-[main|bisect] % git bisect old $(git show-ref -s mesa-23.1.0)
Bisecting: a merge base must be tested
[ebdf6a79266b2b2249b549707fcdbaf9eae905ce] intel/genxml: Drop CACHE_MODE_SS definition.
 /scratch/mesa (git)-[tags/23.0-branchpoint|bisect] % git bisect old
Bisecting: 316 revisions left to test after this (roughly 8 steps)
[896d6df474c95fc4a5195f96f92b5eadd3948d8d] glapi/meson: drop duplicate line in deps
 /scratch/mesa (git)-[mesa-23.0.1~65|bisect] % git bisect new
Bisecting: 158 revisions left to test after this (roughly 7 steps)
[51e8278bc657d833e83f317ba495a879ad6f1a71] zink: fix max acquired image count
 /scratch/mesa (git)-[mesa-23.0.0-rc5~34|bisect] % git bisect new
Bisecting: 78 revisions left to test after this (roughly 6 steps)
[06072d3bb5580ae28920eb5d2fd32bb1e08f2141] zink: Fix up mismatches of memory model vs addressing model.
 /scratch/mesa (git)-[mesa-23.0.0-rc4~45|bisect] % git bisect old
Bisecting: 39 revisions left to test after this (roughly 5 steps)
[00923a7d4435dfe23dc72df6858fb4dda9542709] radv: fix RB+ for SRGB formats
 /scratch/mesa (git)-[mesa-23.0.0-rc4~6|bisect] % git bisect old
Bisecting: 19 revisions left to test after this (roughly 4 steps)
[b0402b6bf7472dc3d6a342ce2c5a052871871039] wsi/win32: Don't require buffer blits for software drivers
 /scratch/mesa (git)-[mesa-23.0.0-rc5~54|bisect] % git bisect old
Bisecting: 9 revisions left to test after this (roughly 3 steps)
[796af8e799a4417e7e3854918b1c9c82bdc79a3e] Revert "radeonsi: enable glthread by default"
 /scratch/mesa (git)-[mesa-23.0.0-rc5~44|bisect] % git bisect new
Bisecting: 4 revisions left to test after this (roughly 2 steps)
[d539e26ae0de7d1231aa221b9ddd00ae23ccb9dc] amd: fix typo in shadowed uconfig registers on gfx11
 /scratch/mesa (git)-[mesa-23.0.0-rc5~49|bisect] % git bisect old
Bisecting: 2 revisions left to test after this (roughly 1 step)
[127d328f335932c4e547a41f2dc418a5861b8875] zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT on compute pipelines
 /scratch/mesa (git)-[mesa-23.0.0-rc5~47|bisect] % git bisect old
Bisecting: 0 revisions left to test after this (roughly 1 step)
[47557044cbc0787281cdd893d6751db4d9b104e6] ac/nir/ngg: fix clip dist culling mask uninitialized
 /scratch/mesa (git)-[mesa-23.0.0-rc5~45|bisect] % git bisect old
796af8e799a4417e7e3854918b1c9c82bdc79a3e is the first new commit
commit 796af8e799a4417e7e3854918b1c9c82bdc79a3e
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Thu Feb 2 18:21:39 2023 -0500

    Revert "radeonsi: enable glthread by default"

    This reverts commit d6fabe49cd72fb7f7087b12efd8a9e3371e36c01.

    It has issues that are not worth fixing in this release branch in my opinion.

    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21088>

 src/amd/ci/radeonsi-raven-fails.txt             | 1 -
 src/gallium/drivers/radeonsi/driinfo_radeonsi.h | 1 -
 2 files changed, 2 deletions(-)
 /scratch/mesa (git)-[bisect/old-47557044cbc0787281cdd893d6751db4d9b104e6|bisect] %

If I make a revert patch for that commit (796af8e799), and apply it to 23.1.5 (current stable), the bug is gone.

Last edited by graysky (2023-08-06 10:22:11)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#6 2023-08-06 11:04:53

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,814

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

That's easier then my suggestion, nice find.

So kodi-gbm works better with mesa_glthread enabled for radeonsi .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2023-08-06 12:05:18

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,591
Website

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

I was pleased to get the bisect to work. 

Lone_Wolf wrote:

So kodi-gbm works better with mesa_glthread enabled for radeonsi .

I think it's the opposite, have to remove it:

--- a/src/gallium/drivers/radeonsi/driinfo_radeonsi.h
+++ b/src/gallium/drivers/radeonsi/driinfo_radeonsi.h
@@ -1,7 +1,6 @@
 // DriConf options specific to radeonsi
 DRI_CONF_SECTION_PERFORMANCE
 DRI_CONF_ADAPTIVE_SYNC(true)
-DRI_CONF_MESA_GLTHREAD(true)
 DRI_CONF_SECTION_END

CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#8 2023-08-06 13:22:16

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,673
Website

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

Mod note: moving to programming and scripting


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#9 2023-08-07 10:30:37

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,814

Re: Git bisect mesa: "Bisecting: a merge base must be tested" [SOLVED]

I think it's the opposite, have to remove it:

reverting a commit that reverts another commit tends to confuse me.
I'm following the mesa bug and disabling glthread does seem to solve the issue for kodi.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB