I temporarily was afraid I was going insane here.  Because after I submitted
this bug, I was trying to obtain a backtrace.  But the crash was gone.  And it
wasn't your regular Heisenbug either: not only was the crash gone when running
inside gdb, but also when running standalone.  Nothing would bring it back,
not even a reboot or re-cloning StumpWM's repository.  Argh.

Today I think I got a step closer to figuring out what the sequence to
reproduce this segfault really is.  Step 3 (moving the border between
tree-view and diff-view) is irrelevant, except that it positions the pointer
in such a way that on its way to the "Branch:" combo box it passes over the
branch names displayed in the first line of the branch view, thereby
highlighting them.

Here are the revised steps to reproduce:

 1. Clone stumpwm: git clone git://git.savannah.nongnu.org/stumpwm.git stumpwm
    (I used stumpwm to reproduce, but it probably happens with other
    repositories as well)

 2. Run gitg: cd stumpwm; gitg

 3. The first line in the tree view should have three branch labels: "master",
    "origin/HEAD", and "origin/master", in that order.  Highlight one of the
    branch labels by moving the pointer over it (but don't click).  Don't move
    the cursor into the second line of the tree view, that would cancel the
    highlighting.

 4. From the "Brach:" list select "All branches".  Make sure the branch label
    highlighted in the previous step is still highlighted when clicking on the
    list button.  Remember whether the origin/ submenu pops up when doing so,
    if it does the crash behaviour may differ.

 5. Click the "Branch:" list again.  In some cases this is already enough to
    cause a crash.  It doesn't matter whether there is a branch highlighted
    this time.

 6. With the branch list still open, move the pointer to the origin submenu.
    When this submenu is about to pop up there may be a crash.

I tried all the combination and have noted the result in the table below.
"highlighted branch" is the name of the branch whose label was highlighted in
step 3.  The columns "origin/ showing" and "origin/ not showing" are for the
cases where the origin/ submenu did or did not pop up in step 4,
respectively.  "immediate" means the crash was occuring in step 5, "submenu"
means the crash was occuring in step 6, and "no crash" means the obvious.

| highlighted branch | origin/ showing | origin/ not showing |
|--------------------+-----------------+---------------------|
| none               | no crash        | no crash            |
| master             | no crash        | immediate           |
| origin/HEAD        | immediate       | immediate           |
| origin/master      | submenu         | submenu             |

Thanks,
Jö.

-- 
Jorrit (Jö) Fahlke, Interdisciplinary Center for Scientific Computing,
Heidelberg University, Im Neuenheimer Feld 368, D-69120 Heidelberg
Tel: +49 6221 54 8890 Fax: +49 6221 54 8884

If God had intended Man to Smoke, He would have set him on Fire.
-- fortune

Attachment: signature.asc
Description: Digital signature

Reply via email to