QA/Bibisect

From The Document Foundation Wiki
< QA
Jump to: navigation, search

Introduction

Bibisect stands for "binary bisect". It's a procedure that helps identify commits that have caused regressions. Regressions are a most annoying artifact that unfortunately come with software development and QA. We want to deal with regressions quickly before time passes and they get harder and harder to triage and fix.

How does Bibisecting Work?

Each bibisect package is a git repository populated with hundreds or thousands of builds of LibreOffice. Added to the repository in chronological order, the builds provide a fast and simple way for us to test a bug against many different versions without having to compile LibreOffice each time we switch to a different version.

We can leverage the tools built into git for binary search through commits (e.g. git bisect) as well as benefit from the compression and de-duplication functions included in git. For example, in a series of builds that each might take up 500MB of disk space, through de-duplication we can potentially use only 25MB per additional build.

Watch Effective Bisection and Bibisection (Matthew Francis's talk at LibOCon 2015 on YouTube) for both an introduction, and practical details.

Details

A successful bibisect will leave developers with only a few commits to search through to find the 'culprit' commit that we believe introduced a regression. Depending upon the particular bibisect repository, this range might be 60, 100, or even 2 commits. (We also have some very 'coarse' bibisect repositories that use released versions + beta + RC builds, and these may have ranges spanning multiple hundreds of commits)

QA can go the additional step of fully bisecting (determining the exact commit) or can leave this to the developers. It's often easy to find the commit that caused the issue after bibisecting the bug.

With approximately 10 gigs, you'll have hundreds of builds to work with. A bibisect can take as little as 15 minutes.

Currently, bibisecting is possible on:

General Instructions

It might be a good idea for beginners to start by tracing the steps of a bibisect that was already completed successfully. For this purpose we have a bibisecting tutorial.

Note: Each operating system is different, please read the full instructions that correspond to your specific operating system (GNU/Linux, macOS, or Windows) for more complete instructions, instructional videos, and other related information.

Bibisecting relies on 6 steps:

  1. Setting up your environment, including installing any extra software
  2. Downloading the bibisect package
  3. Bibisecting the bug
  4. Getting a bibisect log
  5. Attaching the bibisect log to the bug report
  6. Remove keyword 'bibisectRequest' from Keywords field and add the keyword 'bibisected'
  7. If the commit causing the regression has been identified, also add the keyword 'bisected', add the developer as CC and add the comment 'Adding Cc: to <developer's name>'

Note that you should only add the original committer to the CC, not any reviewers. If a developer has retired from the project (check the date of their last commits), there is no point in adding anyone to the CC. Rather in this case, you should bump the priority of the bug report.

Some bibisect repositories have ranges of source commits folded into a single chunk. If after completing a bibisect you are presented with only a single one of these chunk commits, you can get the range by first copying the hash (note: not the source hash) and using it in a git log command like so:

git log c3f9dc54188b316a61dd871b63734d49b05f5d7f

Now you can copy the source hashes of the first and previous displayed commits and use them to construct a range query like so: https://gerrit.libreoffice.org/plugins/gitiles/core/+log/7c4d3ea6ba4d42b4dda5148a00c8c411b5d7703d..5b195fbcf7a441aeb193f6abd08b877e580938e0

This will allow you to skim commit messages looking for related subjects. For deeper scrutiny, see the section on detective work.

Limitations

Performing a bibisect is only possible if we have a repository available for the correct OS, covering the correct range of LibreOffice commits. We have very good coverage on GNU/Linux, and are improving our coverage on Windows and macOS.

Some regressions are difficult to reproduce, and may require multiple test runs for a bug to appear. As you may imagine, trying to bibisect such regressions is very difficult, and requires one to perform many test runs after each checkout of a new version of LibreOffice to give some security / statistics that the bug is indeed present or not present with the given version.

We do not currently have bibisect support for

Versions

Versions are listed on each OS page. See #Details above.

Not Bibisectable

Some bugs are not bibisectable. These include

  • Bugs that don't show up on a supported platform (see #Limitations)
  • Bugs that predate our bibisect builds (We're working on extending the range covered)
  • Bugs that depend upon build options not enabled in the TDF builds (e.g. -kde)

If a bug with bibisectRequest Keyword is found to be not bibisectable, leave a comment on the bug explaining why we're not able to use bibisect to track down the introduction of this problem, and replace Keyword bibisectRequest with notBibisectable.

Finding bugs

Finding bugs needing bibisect

Following Bugs with Keyword bibisectRequest are waiting for a bibisect:

Full Query
ID Summary Priority Status
54204 Hyperlinks between documents not works if link contains anchor at the end medium NEW
56894 FORMATTING: Cell borders drawn using (python) scripts do not draw as expected in all cases medium NEW
57373 FILEOPEN: Old Word 95 DOC list input fields not imported since LO 3.5 (OK if saved in MSO as DOC) low NEW
60413 Images in header disappear in Word for Mac OSX after save to Word 97 format medium NEW
62093 VIEWING of preview in Print Dialog destroyed after horizontal or vertical resize medium NEW
69479 Formula is getting corrupted after input medium NEW
70633 Writer EDITING: Unable to use AltGr to produce supplementary plane chars medium NEW
75218 Letter Wizard does not respect locale anymore medium NEW
76644 extended tips missing for menu items medium NEW
79452 Themes with a separator line per toolbar incorrectly places separator line at bottom when toolbar docked at bottom low NEW
81894 FORMATTING: Text wrap in a cell prevents spell-check context menu accessibility medium NEW
87058 column label functions do not update after inserting rows below title - needs save and reload including a hard recalc medium NEW
87289 UI: single cell selection frame is invisible in black documents medium NEW
88066 UI status line insert/overwrite mode display broken medium NEW
91237 CALC hangs on web table paste (intermittent) high NEW
92433 Writer hangs and eats a lot of memory until being killed while processing complex 134-page DOCX with images medium NEW
92472 FILEOPEN: First legacy checkbox in row has too large dimensions on docx import low NEW
92880 CopyFromRecordset function not working since 4.x medium NEW
92909 UI - Table creation field data types are displayed in rounded buttons that do not fill grid cell (OSX only) low NEW
94113 Accessible focus event missing when caret moves to start of paragraph spanning two pages (see comment 11) medium NEW
94903 Digital Signatures are not working with 64-Bit LibreOffice 5.0.2.2 and 32-Bit LibreOffice 5.2.x in Windows high NEW
95191 Forms and dialogs opened via macros on ODB file open no longer work high NEW
95492 LibreOffice start center: icons too bright on macOS medium NEW
95854 Insert comment shortcut doesn't let me edit existing comment medium NEW
96176 DRAW: Slow performance zooming an SVG after opening medium NEW
96310 LO will hang for 30 plus seconds after opening EMR software alongside the LO suite (1 processor fully consumed) medium NEW
96341 Version 5.1 takes a lot more RAM than version 5.0 in Windows medium NEW
97129 No feedback while saving a document medium NEW
97616 Calc conditional formatting: fast scrolling down and up shows borders that shouldn't be there low NEW
98038 Clicking on different slide transition causes visual errors (gtk2) medium NEW
98491 Split hsqldb Base application will not start under OSX10.11.x causes LO to freeze requiring force kill high NEW
98675 Missing possibility to print style definitions medium NEW
99507 Paste Individual Image From MS Office fails (Paste special as GDI image works and should be default) medium NEW
99707 Impress stalls presentation on 3-liner text block medium NEW
100119 Korean Autocorrect does not work in OS X 10.11 medium NEW
100961 After inserting Fixed Date, and saving in DOC format, the date is not fixed anymore medium NEW
101376 Wordcount Beanshell macro execution causes deadlock / hang requiring forced kill high NEW
101379 UI - (on high resolution screens) text cursor is too thin and so nearly invisible medium NEW
101396 VIEWING Font color changes when auto spellcheck is enabled and text is underlined due to spelling error (steps in comment 7) medium NEW
103375 MAILMERGE: unpredictable failures: sometimes looses embedded image, or not all mails sent, when e-mailing as pdf medium NEW
103570 Java not selected automatically when a database is opened for the first time low NEW
103909 macOS: Start Center doesn't open on top - doesn't receive focus high NEW
104037 Writer: embedded Starview Metafile file results in slow scrolling medium NEW
104563 Writer doesn't allow to resize window to less than 4/5 of full screen in height medium NEW
104891 PDF export of PPTX with all slides hidden returns error medium NEW
105145 UI - icons in grid form controls no longer transparent and visual effect is zoom dependent high NEW
105588 SVG exported from Impress or Draw cannot be correctly inserted as an image into another document medium NEW
105690 FILESAVE: Button dissapears after saving in Calc medium NEW
106073 FILEOPEN: DOCX has a different page count in LibreOffice medium NEW
106484 UI: Print Properties Device tab dropdown items not applied or remembered medium NEW
106617 Writer memory leak medium NEEDINFO
106730 Searching for Character Formatting is Broken medium NEW
106807 [OpenGL] Wrong render text on chart in Calc medium NEW
106831 Can't print #10 envelopes properly and with proper orientation medium NEW
106962 Clicking text or text box on macOS Sierra results in sluggish UI high NEW
106981 The Repeat feature when you select an Inserted Video for it to play in a Loop during a slideshow no longer works (64-bit only) medium NEW
107248 Improvements to the version control dialog medium NEW
107443 FILEOPEN: "Open" in "Document in Use" dialog for non-default file format documents opens read-only medium NEW
107574 Blue throbbing highlight of comments appear over comment at different window views medium NEW
107987 EDITING: Resizing an image is slow depending on slide design medium NEW
108232 Marco Flotante (floating frame) medium NEW
108560 Editing multi-line cells with thousands of words is slow when OpenGL is enabled medium NEW
109004 External form does not save the path to database any more. medium NEW
109090 Lang pref English (USA) shows as French (France) in spell checker dialogue high NEW
109151 Undo actions are not grouped when deleting with Track Changes set low NEW
111674 Always office:value="0" for field variable "Formula", which is <text:expression> in file format high NEW
111683 Symbol font handling - unable to generate barcode with AdvC39c font medium UNCONFIRMED
111874 Regression: glitch in fade->smoothly transition in 5.4 wrt 5.3 (linux, intel graphics) medium NEW
112081 UI: Checkbox labels getting cropped in various language setting options medium NEW
112811 FILESAVE: DOCX - Dots separator in index not fully preserved medium NEW
113042 FILESAVE: Saving an large calc sheet is slower in LibO5.4 compared to LibO5.3 medium ASSIGNED
113228 Gallery category/folder names not localized medium NEW
113273 Crash in: SfxShell::SetDisableFlags(SfxDisableFlags) medium NEW
113721 One CPU core stuck at 100% after saving a file medium NEW
114223 RTL/LTR buttons don't appear before restart when CTL is enabled medium NEW
114272 [macOS] Some Asian characters are garbled with western fonts. medium NEW
114602 Query-Editor: No functions available for Sqlite 3 odbc high NEW
114653 using more than x custom properties in templates causes high CPU usage medium NEW
114980 "Preparing preview" for master slides "Recently used" or "Used in this presentation" takes a long time sometimes medium NEW
115077 Merge mail wizard send empty images by mail in HTML format medium NEW
115755 Printing with Calc: Blank box on top of page medium NEW
115907 Index entries are corrupted if the entry is followed by italic and/or superscripted text medium NEW
116047 LO 6.0.1.1 (x64) calc windows, autofilter freezes medium NEW
116547 Export of mathematical formula in Writer document to DOCX is displayed incorrectly in Word medium NEW
117255 EDITING: Star Obj Descr (XML) Resize preview is sometimes inconsistent medium NEW
117905 Coinmarketcap api doesn't work anymore medium NEW
118530 freeze on inserting an OLE object medium NEW
118603 Temporarily huge memory usage bump when saving a copy of a file (containing HI-res images); release is delayed medium NEW
118667 No heading numbering for the second RTF-paste (when pasting the same content twice) medium NEW
118673 Cross reference category disappears when a comment is placed in the caption category medium NEW
118675 Low image quality when using special paste bitmap of a shape/textbox medium NEW
118713 macOS: The clicking area for the decrease button for a numeric box doesn't match the button size; it's smaller medium NEW
118748 Accessibility events missing when Calc cells become unselected due to navigating to focused cell medium NEW
119081 RTF paste not working when attempting to paste under an embedded table medium NEW
119139 Mysql timestamp fields not displayed in table data entry mode with mysql jdbc-connector ConnectorJ 8.x high UNCONFIRMED
119171 Some table border formatting is not saved medium NEW
119286 Sanitize documents using "Find & Replace" getting slower and slower medium NEW
119329 Variable in equation in .docx vanishes if we open the file in Writer (Win-only) medium NEW
119366 FREEZING with long and complex documents medium NEW
119419 Insert Field into Writer document attempts to connect to all registered database sources in sequence before displaying dialog high NEW
119520 The table borders/content shifting when saving with selected content (and afterwards when deselecting) medium NEW
119540 Pasting unformatted text in a fully selected right table cell pastes in both cells. Right one will include hashtags medium NEW
119724 MacOS: Large delay before the red spell checker lines show up after pasting the same content multiple times. Lots of time spend in Scheduler::ProcessTaskScheduling() medium NEW
119818 Right table border disappearing for 1/2 sec when holding space low NEW
119880 Writer 6.1.1 fails to export to PDF a document containing PDF 1.5 images medium NEW
120014 MacOS: Lots of unresponsiveness (beachballs) when enabling automatic spell checking in a large document high NEW
120091 Some LO Base views with conversions or casting on datetime fields causing error message "the data content could not be loaded" with MySQL Connector/J 8 (not with with MySQL Connector/J 5) high NEW
120154 High RAM usage ( around 300mb for 10 mins and drop to 150-200 mb) medium NEW
120157 Toolbars UI - background shading on selected action buttons offset to left of button and smaller than button surface high NEW
120216 Tables make Impress hang medium NEW
120278 With version 6.1.2.1 cannot save doc to NAS drive due to insufficient permission medium NEEDINFO
120295 A cell with comment text prevent a cell event medium NEW
120358 Long multi-layered numbered list in a table became mis-ordered after some editing medium NEW
120360 Draw extremely slow when table is added medium NEW
120440 Memory usage is increasing rather fast when creating lots of empty documents (45) and pasting a plain text in it medium NEW
120516 Word count is starting over and over when typing into a document (causing high CPU usage) medium NEW
120532 Pasting takes a long time to process under certain conditions medium NEW
120539 Position of adjusted middle line on connectors is randomly changed when copying the drawing to a writer document medium NEW
120695 FILEOPEN unixODBC connection to sqlite database not working high NEW
120796 Attempting to open a ".txt" file with Calc selected from Windows explorer "Open with", opens Writer instead medium NEW
121092 Libreoffice 6.1.3.2 does not allow saving Advanced Properties options with SQLITE 3 over ODBC medium NEW
121253 Database wizard opens when press CTRL+A inside the extension manager window high NEW
121698 Saving a document with thousands of comments hangs (GTK3) high NEW
121847 IMPRESS: slide marking on side pane lost when switching to notes view medium NEW
121860 System slows down (freezes) while marking/selecting a lot of single cells by Ctrl+Left Mouse Click medium NEW
121976 Freezes for a few minutes when opening a file medium NEW
121996 Crash in: rtl_uStringbuffer_remove when EDITING grid control high NEW
122218 After Update to 6.1.4 on macOS fonts are blurred on retina display high NEW
122274 Annotating slide with INK using PEN cursor mode during edit session of file makes INK permanent medium NEW
122298 Charts in Base-Forms couldn't be changed by macro any more medium NEW
122408 Form couldn't connect to subform (Analyze SQL 'yes') with fields of different data types, which could be connected in queries (GUI and direct SQL). high NEW
122419 AutoFilter Search Freezes Calc in the Attached Spreadsheet medium NEW
122436 Writer can't display or export eps with preview correctly medium NEW
122446 MariaDB/MySQL native connector: All tables are write protected high NEW
122457 Worse text rendering in newer versions of LibreOffice (OpenGL) medium UNCONFIRMED
122585 Classification: by using the dialog, footer text from policy is not placed in the document - it is the same as the header medium NEW
122586 Classification: by using the dialog, Watermark text from policy is not placed in the document medium UNCONFIRMED
122600 UI: Creating a new style, doesn't automatically show tab Organize in style dialog medium NEW
122779 FILEOPEN (BASE) Connection to Oracle DB via ODBC ends in [ODBC][ORACLE] Optional Feature not implemented medium UNCONFIRMED
122841 [UI] Dotted line cell border rendered incorrectly onscreen medium NEW
122862 Inserting an image into header causes pages to be added in an infinite loop high NEW
122905 FORM - Tablecontrol: Second listbox won't show right content when directly beneath first listbox high NEW
122952 Writer typing lag when editing text while header image is showing on screen medium NEW
122968 Stuttering/ judder while scrolling using page down (pages per second rate has worsened) medium NEW
123027 Footnote Anchor medium NEW
123045 FILEOPEN: Crash in: mergedlo.dll Opening MS .doc medium NEW
123070 EDITING: Moving fields in Query designer GUI isn't shown with an arrow any more medium NEW
123167 BASIC: Pictures in buttons are not persistent in a dialog medium NEW
123190 Erroneous additional space in Math formula object medium NEW
123234 Missing characters while exporting to PDF using certain fonts (IM fell from arch user repository) medium NEW
123418 Showing all comments takes longer compared with 4.4.7.2 medium NEW
123419 Scrolling around in a document with lots of comment shown very slow compared to 4.4.7.2 medium NEW
123466 Suspicious Log Messages about String comparison medium NEW
123529 High CPU when scrolling in a calc sheet with lots of comment indicators medium NEEDINFO
123555 Table of Content link tooltip renders blank squares instead of Chinese characters in Word openxml document high NEW
123564 Dialogs are not at the right position with Execute method medium NEW
123591 base(firebird): Incorrect Posting of Numeric Data medium NEW
123610 FILESAVE | DOCX, Text flips in MSO after saving in LO. medium NEW
123633 Web view and hide whitespace causes view position to jitter until entire document is reformatted medium NEW
123655 Opening file with lots of graphic results in lock up and then crash medium NEW
123700 Adding selection mode is unreliable, clearing selections instead of adding medium NEW
123801 Small caps captions do not display the Figure/Illustration/etc. category label medium NEW
123824 Truncated data in Assign Columns dialog in split-mode hsqldb medium UNCONFIRMED
123844 Groupedbar compact almost empty on MacOS high NEW
123871 Z-order of objects overlaid on images lost on file open high NEEDINFO
123962 Form based filter search freezes LO with main form and subform high NEW
124000 FILEOPEN DOCX Last row of OLE object table is missing medium NEW
124059 FILEOPEN DOCX: Position of text changes when exporting to DOCX and reopen in LO medium NEW
124077 Broken roundtrip (save/load) for impress/draw document including tables medium NEW
124104 LibreOffice Base: Text cut off in GUI elements with font scaling enabling or when font size increased above 12 point medium NEW
124213 A recovered document has "(Remote)" in the title medium NEW
124214 Fuzzy rendering of a FontWork after some stressing medium NEW
124296 Writer: Link underscore disappears medium NEW
124321 Sluggish scrolling and high CPU while scrolling for document with (very) large table (7183 row) medium NEW
124399 FILEOPEN DOCX Top and bottom border lines appear on the table in Writer that weren't present in MS Word medium NEW
124402 Gradients on data series always reset to black and white medium NEW
124414 Image is partly displayed when printing (to PDF) two pages per sheet (Linux-only) medium NEW
124465 Cannot press Green MacOS X button to tile 2 windows medium NEW
124569 Undoing a deletion of text with fieldmarks moves the closing fieldmark 2 chars right medium NEW
124587 Character highlighting going over text in other lines in slideshow mode medium NEW
124729 Impress reliably crashes on THIS PowerPoint document in Linux medium NEW
124765 FILEOPEN LO Draw rasterizes vector graphics (PDF) on import (by drag-and-drop) medium NEW
124790 Background image in printed address labels not visible medium UNCONFIRMED
124860 FileOpen: Formula result has different alignment than regular values medium NEW
125057 [FORMATTING] Conditional formatting KO while copying sheet medium NEW
125168 The database wizard generates buggy PostgreSQL URLs high NEW
125357 LO Impress do not import eps medium NEW
125378 Formatting - 6.3.0.0 Alpha1 has enlarged sheet tab with lots of wasted space medium NEW
125395 Crash during paste medium NEW

189 Total; 189 Open (100%); 0 Resolved (0%); 0 Verified (0%);


In addition all unresolved regressions in LibreOffice might benefit from bibisecting.

Finding bugs already bibisected

For the links to bugzilla queries, please see here.

With the above info added to the bug a developer knows that the regression was introduced between the commits fb754a0df859e30255c25af8fa19bfaa75f257e7 (good) and 2d19e9bb07ccff3134f855812dddfda5c07b1fe4 (bad) on master. A:

git log fb754a0df859e30255c25af8fa19bfaa75f257e7..2d19e9bb07ccff3134f855812dddfda5c07b1fe4

on the source repository will then show the 128 commits including the one that introduced the bug, making it a lot easier for the developer to close in on the culprit. For more details, see:

Special situations

Bibisecting language-specific bugs

The TDF bibisect repositories provided do not include any lang-packs.

To bibisect bugs which work good with english UI, but bad with non-english UI (like CJKs): one should copy-paste the following files, from a release build which has your language, to the same location of the bibisect repo:

  1. program/resource/<your_lang_tag>
  2. share/registry/Langpack-<your_lang_tag>.xcd
  3. share/registry/res/fcfg_langpack_<your_lang_tag>.xcd
  4. share/registry/res/registry_<your_lang_tag>.xcd

The suggested language resources you should copy is the one for the same major branch. For example, for the bibisect-linux-64-6.0 repo, you can copy from 6.0.1.1 release.

Running with a separate user profile

To create separate profile directory in /tmp/ (which will be automatically removed during the next machine boot):

./opt/program/soffice -env:UserInstallation=file:///tmp/soffice-bisect

If you want to start fresh for each bisect iteration, you can add git commit hash to directory name. For example:

./opt/program/soffice \
-env:UserInstallation=file:///tmp/soffice-bisect-$(git rev-parse HEAD)

Finding a fix

Sometimes a bug is a collateral damage of another (possibly minor) bug, in a non obvious way. In such cases that other bug might be fixed on master, but was not backported to the release branch. To identify a problem-fixing commit you can use:

git bisect start --term-new=fixed --term-old=unfixed
git bisect fixed master
git bisect unfixed <some-old-sha> # you can use "git log --reverse" to detect the first revision in the bibisected package

As you test, say

git bisect fixed

or

git bisect unfixed

as appropriate.

If the fix is small and important enough, it likely can be easily backported to the release branch.

Checking out a specific commit based on source hash

Sometimes you already know a specific source commit has/does not have the bug you are hunting.

Copy the source hash from the LibreOffice git history and use it to grep in the bibisect repo log like so:

 git log --all --grep='29a9f433c268414747d8ec7343fc2b5987971738'

Copy the commit hash of the bibisect repo and do a checkout for it to verify your assumption:

 git checkout 38758b70f5278d4d8292a2e857e80a9a1130f38e

You can use the repo commit hash when determining the bad-good range to bisect:

 git bisect start 38758b70f5278d4d8292a2e857e80a9a1130f38e oldest

Doing detective work inside a commit range

In case your bibisect result is a range of commits and you have trouble locating the offending commit, you might make your life easier by searching with a keyword.

An example for a case, where we know the problem is in Calc's Navigator view:

git log --stat --pretty=short --graph 169bd7718264b0e312052757f9bbd2321e1399c2...ff8b873936aa72b17309da4bfc2775573a5b1f55 | grep -B 10 -A 10 --color=always "sc/source/ui/navipi" | less -R

Adjust the -B and -A grep parameters to control how many lines before and after the hit you want to display. When piping to less, -R preserves the colouring of search results.

Bisect skip hell

Sometimes we get stuck in a miserable situation, where we have to use git bisect skip over and over again due to various reasons. There are ways of getting out of these infuriating messes and here we will show one of them.

Example bug: tdf#123095

Bug appeared in 4.0-4.1 range.

There are lots of commits, where the autofilter is not shown at all, so have to skip those.

We can use git bisect visualize to show us the remaining suspected commits:

git bisect visualize --oneline > /some/path/bisect-viz-123095.txt

The earliest bad results are at the top while the ones you have skipped are at the bottom. The commit below the bottom is the last known good one.

My top results included

  b842ac1 source-hash-7b4d76772ef76a8de852ed647ed0cad368f70189
  40ef04e source-hash-dc173b7f2a550185404aacbc6da744cb6d1880fc
  8e697de source-hash-eb96e4325278f31b9e6fbc1d5c6a01543204ded6

So I did git checkout b842ac1, test, continue with the next etc. Turns out the third one from the top was already a skippable commit.

I made a range query with the source hashes in the style bottomcommit..firstbadcommit.

In the displayed results I searched for "filter" and found a suspicious commit about sorting autofilter popup items.

Troubleshooting

Please add your problems and how you solved them. This section covers issues that affect more than one OS. For OS-specific issues, please see the individual OS wiki pages.

Unable to extract files

If you can't extract files (you should get an error message). Try to rename the file from *.tar.lzma to *.tar.xz.

Installed LibreOffice became modified unexpectedly

Problem / Messages:

   error: Your local changes to the following files would be overwritten by checkout:
     opt/program/pythonloader.pyc
     opt/program/uno.pyc
     opt/program/unohelper.pyc
   Please, commit your changes or stash them before you can switch branches.
   Aborting

Solutions:

git checkout .

will repair the problem. Afterwards you can start the next test run as usual with

git bisect good # or git bisect bad

If that does not solve the problem, you can try

git clean -fd
git reset --hard

The ultimate repair is to delete everything except one

.git/

hidden folder, and do

git checkout oldest

Unable to start soffice

Problem: Upon trying to run soffice within bibisect you receive the error "unexpected operator terminate called after throwing an instance of 'com::sun::star::uno::DeploymentException'

Solution: Reset your libreoffice profile located in ~/.config/libreoffice. Make sure to backup the folder if you have any settings you'd like to preserve for use with your stable libreoffice release. After you're done with bibisect you can try to return your backed up profile to it's original location (ie. delete the new profile folder and replace it with the backed up one)

How to bisect RTL bugs

In case you need to bisect a RTL ( Right-To-Left ) bug, please import this variable before calling LibreOffice:

SAL_RTL_ENABLED=1

Tidbits for efficiency

The repetitive nature of bibisecting gets tedious fast, so every trick you can use to make the process quicker is valuable. A typical way is to define aliases for complex commands in your .bashrc file.

The .bashrc of an active bibisecter might include a block such as this:

alias bad='git bisect bad && instdir/program/soffice'
alias good='git bisect good && instdir/program/soffice'
alias skip='git bisect skip && instdir/program/soffice'
alias next='git log --reverse --pretty=%H master | grep -A 1 $(git rev-parse HEAD) | tail -n1 | xargs git checkout'
alias prev='git checkout HEAD^1'
alias gallery='rm instdir/program/gengal'
alias pycache='find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf'
alias source='if [[ $(git log -1) =~ sha:([[:alnum:]]+) ]]; then git --git-dir ~/libreoffice/.git log -1 ${BASH_REMATCH[1]}; fi'

We have commands for jumping to the next or previous commit, "pycache" for dealing with a Windows-specific annoyance and finally "source" for quickly displaying source commit information. The command named "source" assumes you are in a bibisect repository, grabs the source hash of the currently checked out commit and feeds it to a git command targeting a full clone of the LibreOffice source code. To get a breakdown of the command, see the Bash Reference Manual.

The above examples are not exclusive to *nix systems, but work fine in a cygwin environment on Windows. If you want to open documents from the cygwin command line, enclose the ordinary Windows path in single quotes like so:

 instdir/program/soffice 'c:\users\test\downloads\example.ods'

Further information

notes

For details on how the bibisect archives are generated:

We want to make a GUI for bibisect: