QA/Bibisect/ru

From The Document Foundation Wiki
< QA(Redirected from QA/HowToBibisect/ru)
Jump to: navigation, search
This page is a translated version of the page QA/Bibisect and the translation is 40% complete.

Outdated translations are marked like this.
Other languages:
dansk • ‎English • ‎Bahasa Indonesia • ‎日本語 • ‎русский • ‎中文(简体)‎

Contents

Введение

Bibisect означает "деление пополам" и предназначен для помощи членам команды QA LibreOffice занимающихся регрессиями. Регрессия наиболее раздражающий артефакт, который, к сожалению, приходит с разработкой программы. Однако, мы хотим иметь дело с ними как можно раньше, так как их поиск и исправление со временем становятся всё сложнее и сложнее. Git хранит свои вещи так, что одна программа Bibisect может содержать несколько полных 64-разрядных офисных пакетов Linux установленных в очень сжатом размере. И это не требует установки всех версий параллельно, так как можно перейти к любому из них быстро через git checkout source-hash-XXXXXX, что занимает менее 1 секунды.

Ограничения

При помощи Bibisect возможно находить только те ошибки, для которых в репозитории Bibisect есть в наличии круг подтверждённых вопросов. На сегодняшний день это верно для всех регрессий в Linux. Для macOS и Windows мы медленно приближаемся к цели.

Если вы не готовы испытывать одну и туже версию LibreOffice несколько раз на одну и туже ошибку, чтобы собрать статистику и обезопасить свои выводы, этот способ не сможет гарантировать нахождение той версии в которой с которой она появилась, тем более если она не 100% воспроизводима.

Видео урок на Youtube

10-ти минутный ролик (Youtube)] от Florian Reisinger. - Урок на английском. Но вроде бы, все ключевые моменты понятны. Качество звука не очень хорошее, но достаточное, чтобы понять что говорят.

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. 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:

As can be seen from the Commits in range and Number of builds, depending upon the particular bibisect repository, this range might be on average 80 commits for old "43max" repository (reaching hundreds of source commits in some builds) to just 1 or 2 commits for newer repositories. (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).

If build commit or range is found, bug is marked with keyword "bibisected", and if source commit is found, bug is additionally marked "bisected".

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.

Короткие инструкции - Только для Linux

  1. Скачайте репозиторий (12 Гбайт, но не беспокойтесь - это нужно только один раз).
  2. Распакуйте его в удобную папку.
  3. Откройте терминал (не волнуйтесь, всего несколько простых команд).
    1. Если вы используете Ubuntu нужно установить git и libjpeg62: sudo apt-get install git libjpeg62
  4. перейдите в директорию с программой cd каталог_программы
  5. Запустите программуgit bisect start latest oldest
  6. Запустите офис ./opt/program/soffice
  7. Воспроизведите действия которые вызывают ошибку
    1. Если ошибка не воспроизводится: git bisect good
    2. Если ошибка присутствует: git bisect bad
  8. повторите шаги 6 & 7 пока не найдёте ту версию в которой эта ошибка появилась
  9. git bisect log
  10. Прикрепите вывод лога к отчету об ошибке
  1. Attaching the bibisect log to the bug report
  2. Remove keyword 'bibisectRequest' from Keywords field and add the keyword 'bibisected'
  3. 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>'

Версии

Репозиторий 43all должен включать все предыдущие и поэтому они могут считаться устаревшими[1].

Платформа Версия Серия фиксаций (commit) от Серия фиксаций (commit) до Количество фиксаций (commit) Количество сборок Ссылка на загрузку Размер загрузки Bibisected bugs in range Коментарии
Ubuntu 12.04 x64 43all d6cde02d c15927f2 60733 755 builds Canonical: репозиторий подпись 12Gb 542+[2] это заменяет старый репозиторий 42all[3]
43only 22029c7e c15927f2 13951 220 builds Canonical: репозиторий подпись 3.6Gb только в диапазоне от точки ветвления 4.2 до 4.3[4]
Ubuntu 14.04 x64 44alpha2only dea4a3b9 b800d0b6 9859 188 builds Canonical: репозиторий подпись 2.8 Gb только в диапазоне от разделения ветки 4.3 до тега alpha2 4.4
macOS
  • lo-4.1_to_lo-4.2
  • 4.2_to_lo-4.3
  • и release_lo-3.3.0_to_lo-4.1
? ? ? ? TDF: репозиторий 6 GB, 3.9GB and 2GB пробная?
WIN 2013-12-13_2013-12-19 ? ? ? ? TDF: репозиторий 3.5GB не активна, только для тестирования
Linux dbgutil более поздняя точка ветвления libreoffice-x-y -> более поздний master TDF: репозиторий 2.6 GB dbgutil[5]
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://git.libreoffice.org/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

Приготовления

Ручная установка (скачивание архива tar)

Во-первых, вы должны инсталлировать Linux 64-bit. Инсталляция в виртуальной машине тоже будет работать.

Distro 43all 43only
Ubuntu 13.10 (Saucy) необходимо установить libjpeg62 для включены версий старше 3.5 может работать установленный по умолчанию
Ubuntu 12.04 LTS (Precise) необходимо установить libjpeg62 для включены версий старше 3.5 может работать установленный по умолчанию
openSUSE 12.1 нет ?
Fedora собрать libjpeg8 из исходного кода и установить LD_PRELOAD (для версий старше 3.5) ?

Затем установите зависимости для вашего дистрибутива:

> sudo apt-get install git libjpeg62 # ubuntu

Затем, скачайте архив bibisect (выбрать здесь) и распакуйте его. Для 42all команда распаковки выглядит как:

> tar -xf bibisect-42all.tar.xz

Вы также можете проверить подлинность и целостность файлов. Для этого вам понадобится GPG-ключ с https://launchpad.net/~bjoern-michaelsen. Для примера,

> gpg --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXX # замените XXXXXXXX на OpenPGP ключ с веб-страницы
> gpg --verify bibisect-42all.tar.xz.sig

Первое скачивание будет занимать несколько гигабайт (12 гигабайт для 43all). Обновления занимают меньше места.

Поиск места появления регрессии в LibreOffice

Finding bugs needing bibisect

Имея ошибку для тестирования (следующем разделе даст некоторые намёки), возьмите новейшую сборку включённую в загрузку и проверьте, если там ошибка:

> git checkout latest
> ./opt/program/soffice

Если ошибка не воспроизводится с этой версией, оставьте комментарий "Regression does not appear in latest version of bibisect-42all.tar.xz and must be younger" ("Ошибка не появляется в последней версии в bibisect-42all.tar.xz и должна быть новее") и добавьте слова bibisected и bibisectednewer в поле статуса whiteboard. Если ошибка воспроизводится, тогда можно продолжить. bibisectRequest Тогда воспользуйтесь самой старой сборкой включенной в загрузку и проверьте, присутствует ли регрессия в ней:

> git checkout oldest
> ./opt/program/soffice

Если ошибка существует в этой сборке, это не регрессия в окружении, которое покрывается загрузкой, .

Full Query
ID Summary Priority Status
56894 FORMATTING: Cell borders drawn using (python) scripts do not draw as expected in all cases medium NEW
62093 VIEWING of preview in Print Dialog destroyed after horizontal or vertical resize 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
79452 Themes with a separator line per toolbar incorrectly places separator line at bottom when toolbar docked at bottom low NEW
92433 Writer hangs and eats a lot of memory until being killed while processing complex 134-page DOCX with images medium 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
93890 FILEOPEN clean-up of bookmark-start and -end breaks references medium NEEDINFO
94113 Accessible focus event missing when caret moves to start of paragraph spanning two pages (see comment 11) medium NEW
95191 Forms and dialogs opened via macros on ODB file open no longer work high 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
97790 [pyuno] unavailable exported functions and attributes medium NEW
98491 Split hsqldb Base application will not start under OSX10.11.x causes LO to freeze requiring force kill high 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
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
105690 FILESAVE: Button dissapears after saving in Calc medium NEW
106484 UI: Print Properties Device tab dropdown items not applied or remembered medium NEW
106831 Can't print #10 envelopes properly and with proper orientation medium 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
107987 EDITING: Resizing an image is slow depending on slide design medium NEW
108560 Editing multi-line cells with thousands of words is slow when OpenGL is enabled medium NEW
109090 Lang pref English (USA) shows as French (France) in spell checker dialogue (macOS only) high NEW
111674 Always office:value="0" for field variable "Formula", which is <text:expression> in file format high NEW
112811 FILESAVE: DOCX - Dots separator in index not fully preserved medium NEW
113673 Filter WMF: fix for WMF images is not adopted by Slide Show mode (LO 6 Alpha 1 only) 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
115077 Merge mail wizard send empty images by mail in HTML format 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
117818 CHAPTER NUMBERING DIALOG: Preview doesn't work as expected (steps in comment 1) medium NEW
118748 Accessibility events missing when Calc cells become unselected due to navigating to focused cell medium NEW
119139 Mysql timestamp fields not displayed in table data entry mode with mysql jdbc-connector ConnectorJ 8.x high 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 (Win10 only?) medium NEW
119366 FREEZING with long and complex documents 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
120014 MacOS: Lots of unresponsiveness (beachballs) when enabling automatic spell checking in a large document high NEW
120154 High RAM usage ( around 300mb for 10 mins and drop to 150-200 mb) 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
120646 Handling of columns in section not correct medium 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 NEEDINFO
121860 System slows down (freezes) while marking/selecting a lot of single cells by Ctrl+Left Mouse Click medium NEW
122206 FILEOPEN: Opening XML file with XSLT filter opens with plain text import dialogue medium NEW
122381 LibreOffice Writer Menu and Toolbar Freezes for 5-10 Seconds when help pack is installed medium NEW
122419 AutoFilter Search Freezes Calc in the Attached Spreadsheet medium NEW
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 NEEDINFO
122779 FILEOPEN (BASE) Connection to Oracle DB via ODBC ends in [ODBC][ORACLE] Optional Feature not implemented medium NEEDINFO
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
123167 BASIC: Pictures in buttons are not persistent in a dialog 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 (Win-only) 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
123555 Table of Content link tooltip renders blank squares instead of Chinese characters in Word openxml document (macOS-only) high NEW
123633 Web view and hide whitespace causes view position to jitter until entire document is reformatted medium NEW
123700 Adding selection mode is unreliable, clearing selections instead of adding medium NEW
123844 Groupedbar compact almost empty on MacOS high NEW
124000 FILEOPEN DOCX Last row of OLE object table is missing because rows taller in LO 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
124569 Undoing a deletion of text with fieldmarks moves the closing fieldmark 2 chars right medium NEW
124852 Heading characters much too big when copy-paste as GDI metafile medium NEW
125357 LO Impress do not import eps medium NEW
125487 Small delay when closing a simple document containing fontwork with pattern fill medium NEW
125596 DOCX: Writer misidentify text language (and appropriate font) in MS Word file (MSO2019) medium NEW
125641 Slow scrolling responsiveness after saving a file with lots of comments medium NEW
126094 CRASH closing LibreOffice while progress bar dialog is displayed medium NEW
126099 Arc tool goes crazy when drawing proportionally medium NEW
126289 Broken slide preview on Slide pane with enabled OpenGL medium NEW
126352 “Create Style” Dialogue Does not Work Correctly if Opened via Menu or Toolbar: (often/always) shows other styles than the 'own styles', sometimes inactive when it shouldn't .. medium NEW
126750 Macro not working .xlsm medium NEW
126881 CRASH: Closing LibreOffice while file in frame is being loaded medium NEW
126961 Cannot link to macOS address book - crashes and restarts high NEW
127184 AUTO CAPTION: Problems with Image Caption “Figure” in German UI medium NEW
127310 Base/BASIC: RectangleShape object does not display an image by setting its FillBitmap medium NEW
127629 UI: Question to open links when opening a master document in English but different UI language medium NEW
127665 Address Datasource Wizard shows incorrect list of possible datasource types when compared to File> New >Database> connect to exising database medium NEW
127699 trail left by objects while dragging them with arrow keys in LibreOffice Impress medium NEW
127790 Slide Show mode black screens if a zero width zero height image is inserted on slide medium NEW
127833 Field shading in comments not properly refreshed medium NEW
128498 OPTIONS DIALOG: "Update Links when Loading" doesn't work for sections medium NEW
128580 Copy text from Word is pasted as an image in Mac OS medium NEW
129180 UI Print dialog shows incorrect paper size by default medium NEW
129542 CRASH: Setting anchor for a formcontrol to character of pageheader leads to crash medium NEW
129898 Drawings during presentations wouldn't be shown when setting "mouse pointer as pen" in the slide show settings medium ASSIGNED
130972 FILESAVE "Edit filter settings" grayed out / not accessible in "Save as" dialog of both Calc and Writer medium NEEDINFO
131100 : Link to external .ods file returns incorrect data medium NEW
131620 Unable to enter accented characters in Calc, Page properties, Header (Linux-only) medium NEW
131634 Crash in sd::View::SdrEndTextEdit(bool) medium NEW
131940 Chart disappears after editing the row height medium NEW
132160 Crash in swlo!SwRedlineData::SetSeqNo medium NEW
132207 Scrolling a selected table with lots of cells slow (comment 3) medium UNCONFIRMED
132327 Large clipboard content could not be properly pasted medium NEW
132417 EDITING ODT: LibreOffice is responding slowly medium UNCONFIRMED
132456 Lots of time spend in SfxBroadcaster::RemoveListener Undoing deleting a row (3/4 minutes) medium NEW
132457 #DIV/0! error after undoing a deleting a row medium NEW
132679 FILEOPEN DOCX Crash when editing formula inline medium NEEDINFO
132713 FILEOPEN Old base file (*.dbf) created in LO fails to open in 6.4.2.2 high NEW
132714 Crash when deleting table-row used for diagram generation. high NEW
132758 crash swlo!SwNodeIndex::operator!=+5b7a medium NEW
132900 CUSTOMISE DIALOG: Delay when opening dialog medium UNCONFIRMED
132929 Shape at the wrong position after save and reload caused by undo (see comment 2) medium NEW
132930 Anchor changes from to character to paragraph after undo save and reload medium NEW
132934 Memory usage for viewing presentation has increased from 200 to 300 mb medium UNCONFIRMED
132978 LO Base: Print Form made from query, can't see the records in result.pdf medium NEW
133059 Inserting/Changing header/footer in impress doesn't apply immediately to the current slide medium NEW
133081 With OpenGL rendering sm formula 'lline', 'ldline' bracket lines of matrix are shifted out of node box, default GDI and Skia rendering unaffected medium NEW
133089 MacOS: Some character can't be rendered; square medium NEW
133228 Moving a cell with mouse shows only black dot instead of helpful cell highlightning medium NEW
133355 High memory usage while in presentation mode with large animated gifs medium UNCONFIRMED
133388 Images stacked onto each other are hard to separate (the move in tandem);on insertion on top of each other (see comment 4) medium NEW
133660 Changing table styles corrupts table contents medium NEW
133776 No border when dragging columns (MacOS) medium UNCONFIRMED
133897 Fileopen: 271 pages Docx with large single table hangs Writer during open high NEEDINFO
133959 Image changes position after changing anchor from paragraph to character and dragging the anchor medium NEW
133968 Freeze hang after deleting index and undo with old swx medium NEW
133996 Very slow opening of a ODS with autofilter + conditional formatting medium NEW
134008 Scrolling slows down around WMF images (GDI-only) medium NEW
134014 UI: Styles deck empty under specific circumstances medium NEW
134025 Crash mergedlo!basegfx::B2DPolyPolygon::B2DPolyPolygon (see comment 5) low NEW
134066 Shape anchored to paragraph created multitude of empty pages when dragged to specific spot medium UNCONFIRMED
134198 Copy/paste of a doc results in deviating number of pages of the original (in single page view) medium NEW
134201 Crash after pasting several times, then undoing those, then redoing medium NEW
134203 Layout loop medium NEW
134228 Text in Impress with scrolling option reverse the characters when sent to presentation mode (F5) medium NEW
134237 Soft edge feature produces lag when scrolling (and mouse-scrolling to zoom) multiple high-resolution images in Draw medium NEW
134324 Scrolling is lagging when rendering images or tables in Ubuntu 20.04 medium NEW
134385 FILESAVE DOCX Don’t add space between paragraphs of the same style not overridden medium NEW
134407 Too narrow preferences dialog medium NEW
134417 Layout loop/freeze after changing anchor from to paragraph to to character medium UNCONFIRMED
134439 Page Break: editing "Text flow > Breaks" gives differing results depending on where the cursor is situated medium NEW
134477 MsgBox macro function always creates an icon next to the text medium NEW
134489 Paste as RTF substantial slow compared to save as RTF medium UNCONFIRMED
134522 Remove --with-build-version flag medium NEW
134524 FILESAVE DOCX/DOC: Images gone after inserting a new one (followed by save & reload) medium UNCONFIRMED
134525 File open/file copy/paste requires 3-4x more memory low UNCONFIRMED
134596 FILEOPEN DOC : Abnormal row spacing medium NEW
134620 [Calc] [EDITING / FORMATTING] Undoing a find & replace breaks the "automatic calculation". medium NEW
134716 Incorrect rendering of this .svg file medium NEW
134775 EXPORT PNG: Transition of a point distorts the exported image medium NEW
134785 FILEOPEN PPTX: text box and line not shown in presentation mode medium NEW
134788 Inserting a table with 4000-6000 takes a long time to process since 5.1 medium NEEDINFO
134821 Empty pages after pasting multiple times medium UNCONFIRMED
134869 LO Writer: Grey line at the right and bottom when pasting an image - not in Print - only in view medium NEW
134948 FILESAVE/OPEN DOC: Anchor is added to a new bullet medium NEW
134949 FILESAVE/OPEN: Layout changes after file & reload (related to anchoring) medium UNCONFIRMED
134955 Document scrolls to top medium UNCONFIRMED
134979 Relative is lost if relative is checked on table tab & go the column tab & press OK medium NEW
134989 FILESAVE RTF: Unexpected insertion of a section medium UNCONFIRMED
135003 Image in exported DOC moves the wrong direction (jump right when pressing down) medium UNCONFIRMED
135010 Memory usage opening and scrolling a DOCX increased from 600 to 1250 MB; still 360 MB in use after close medium UNCONFIRMED
135014 FILESAVE DOCX: Crash after opening and making and edit and save medium NEW
135026 Large arrow images on file save rtf (and missing text) medium UNCONFIRMED
135031 Help files not found (in master) medium NEW
135039 Freeze pasting with track changes enabled medium UNCONFIRMED
135040 Freeze hang after paste medium UNCONFIRMED
135070 Crash clicking cover page while document is still loading medium UNCONFIRMED
135073 Crash of the document recovery window medium NEW
135079 Formatting of simple .RTF one page A4 document completely screwed up medium NEW
135084 Crash on undo ucrtbase abort medium UNCONFIRMED
135091 FILESAVE DOCX: Overlapping images on file open medium UNCONFIRMED
135092 Images disappearing from document after saving ODT to DOCX (and showing tracking changes) medium UNCONFIRMED
135096 LIbreOffice is showing empty image frames after save to ODT (tracking changes enabled). File reload solves it medium UNCONFIRMED
135097 DOCX: Delete the image caption frame doesn't delete the image medium UNCONFIRMED
135111 Reject all needs to be pressed twice to reject everything medium UNCONFIRMED
135116 Undo accept tracking changes takes +/- 2 minutes to respond medium UNCONFIRMED
135118 Invisible image on wrong page after deleting an image and hiding changes medium UNCONFIRMED
135128 Writer: Changing shadow's color is changing shadow distance medium NEW
135130 Tracking changes object still available after deleting if recording is on medium UNCONFIRMED
135149 Image in frame in DOCX not deleted when pressing delete medium NEW
135151 Special Paste RTF: Missing image/frames medium UNCONFIRMED
135155 FILESAVE DOCX: Image anchored to character not properly aligned medium UNCONFIRMED
135164 FILESAVE DOCX: Heading get bullets medium UNCONFIRMED
135166 FILEOPEN RTF: A part is marked as deleted change and should be so medium UNCONFIRMED
135168 Lots of empty pages added on paste since 6.5 medium UNCONFIRMED
135171 FILESAVE DOCX: A DOCX exported from LibreOffice takes long long time to open medium UNCONFIRMED
135194 Shortcut ALT+Cursor Down not working on database grid dropdown item medium NEW
135205 Crash after deleting some info and undo medium UNCONFIRMED
135206 Lots of layout movement deleting part of a text medium UNCONFIRMED
135217 FILEOPEN DOCX Empty headers size is applied instead of page top margin medium NEW
135220 Different number of pages/ layout after CTRL+X undo medium UNCONFIRMED
135222 FILESAVE DOC: layout different (solely image without surrounding text) medium NEW
135229 Freeze/ hang when moving image in a certain path around medium UNCONFIRMED
135231 Editing cut crashes Writer, seems to be when cut reduces number of pages in document high NEW
135235 FILEOPEN DOCX Shape sizes relative to page is imported with rounding errors medium NEW
135238 Reject all removes image not included in track changes since 6.3 medium UNCONFIRMED
135245 FILEOPEN: DOCX: slow opening medium NEW
135255 Undo doesn't restore added content with tracking changes enabled medium UNCONFIRMED
135257 Track and changes show doesn't show the expected bullets medium UNCONFIRMED
135260 Backspace has only effect on one character after rejecting all changes medium UNCONFIRMED
135261 UI: Manage changes dialog is resizing for few seconds after every reject/clear formatting button press medium UNCONFIRMED
135288 Bullets disappeared in old presentations low NEW
135314 FILESAVE DOCX: Image/gallery item missing after save medium UNCONFIRMED
135316 FILEOPEN DOCX: Time to open from 18 to 30-45 seconds medium NEW
135322 FILEOPEN DOC: Text layout after image moving off medium UNCONFIRMED
135324 FILESAVE DOCX: Image and figure caption overlap medium UNCONFIRMED
135378 FIELD TEXT reintroduced after undo medium NEW
135380 !!br0ken!! error appears for fields medium NEW
135414 Undo deleting ole object previously accessed causes crash medium NEW
135500 UI: previously inserted images are broken (not Skia related) medium NEW

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


Если ошибка уже присутствует на данном этапе, это не регрессия в диапазоне, на который распространяется загрузка, но очень старая ошибка. Если вы используете 43all репозиторий, то поместите комментарий к отчету об ошибке "Regression does appear in oldest version of bibisect-42all.tar.xz and must be older" ("Регрессия появляется в версии старше bibisect-43all.tar.xz и должна быть старше"), добавите слово prebibisect в поле статуса whiteboard и установить версию LibreOffice 3.5beta0 (является самой ранней доступной версией). Если ошибка по-прежнему не воспроизводится, продолжайте. [https://bugs.documentfoundation.org/buglist.cgi?keywords=regression%2C%20&keywords_type=allwords&f1=keywords&list_id=409326&o1=nowordssubstr&resolution=---&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=PLEASETEST&v1=bibisect&product=LibreOffice Если ошибка не воспроизводится, это регрессия в диапазоне покрываемой загрузкой, и мы можем "загнать в угол" её. Выполните:

> git bisect start latest oldest

Для начала поиск места появления регрессии. Затем повторяйте эти команды:

> ./opt/program/soffice
> git bisect good # если ошибка не отображается
> git bisect bad  # если ошибка присутствует
> git bisect skip # если вы не можете пройти в программе достаточно далеко, чтобы попробовать воспроизвести ошибку] (Может случиться так, что выбранная версия не будет запускаться. Это происходит из-за того, что нельзя гарантировать успешную работу версии, даже не смотря на то, что для bibisect используются только работающие версии.)

После нескольких повторений, git сообщит вам что-то вроде этого:

 9625329ea5a7e3e8475cd21c07726beec20573bd is the first bad commit
 commit 9625329ea5a7e3e8475cd21c07726beec20573bd
 Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
 Date:   Thu Dec 8 12:29:59 2011 +0100

source-hash-2d19e9bb07ccff3134f855812dddfda5c07b1fe4
       
   commit 2d19e9bb07ccff3134f855812dddfda5c07b1fe4
   Author:     Jan Holesovsky <kendy@suse.cz>
   AuthorDate: Wed Nov 16 14:17:03 2011 +0100
   Commit:     Jan Holesovsky <kendy@suse.cz>
   CommitDate: Wed Nov 16 14:21:33 2011 +0100
       
     Kill one usage of chrel.sed to fix build.
git log fb754a0df859e30255c25af8fa19bfaa75f257e7..2d19e9bb07ccff3134f855812dddfda5c07b1fe4

Приложите это (линия source-hash-2d19e9bb07ccff3134f855812dddfda5c07b1fe4 является очень важной тут) и сделайте вывод:

> git bisect log

Который должен выглядеть примерно так:

git bisect start 'latest' 'oldest'
# good: [2faf4bc12ab490370d2196dedbc8091f9b09d0a5] source-hash-418a35f4861e863feb39eec73f4a39a87fbcb1f3
git bisect good 2faf4bc12ab490370d2196dedbc8091f9b09d0a5
# bad: [b6fca7e58854bc617c5fc9a75d1c1720b0d7e1a4] source-hash-ce60138d339a5eb2a174a5d27063249acf2cac42
git bisect bad b6fca7e58854bc617c5fc9a75d1c1720b0d7e1a4
# good: [0a28a62d53e996cf66d86e9bfb63ddc6ade75b7e] source-hash-71cbcb62028295a98ceee60cb4c4ee425bafcd2e
git bisect good 0a28a62d53e996cf66d86e9bfb63ddc6ade75b7e
# bad: [9625329ea5a7e3e8475cd21c07726beec20573bd] source-hash-2d19e9bb07ccff3134f855812dddfda5c07b1fe4
git bisect bad 9625329ea5a7e3e8475cd21c07726beec20573bd
# good: [89d91bb6074026dc0894bcdc6aaf8f6124102da7] source-hash-fb754a0df859e30255c25af8fa19bfaa75f257e7
git bisect good 89d91bb6074026dc0894bcdc6aaf8f6124102da7

Для разработчиков это даст хорошее понимание, где начинается ошибка. Также, поставьте слово bibisected в поле статуса whiteboard, для того, чтобы ошибка больше не появлялась в списке с нуждающимися для поиска при помощи Bibisect.

Теги в репозиториях bibisect

Репозиторий 42all тэги типа last35onmaster, last36onmaster, которые маркируют последние сборки на ветке master до того как релиз был ответвлён. Если вы имеете ошибку, которую вы уже о которой знаете что она воспроизводится между 4.0 и 4.1, вы мжете сделать следующим образом:

> git bisect start last41onmaster last40onmaster

для того, чтобы искать в этом диапазоне. Обратите внимание, что ответвление крупного релиза происходит гораздо раньше, чем первая финальная версия (обычно между альфа и бета). Так что ошибка в первом крупном релизе может быть воспроизведена после ответвления. Она по-прежнему должны быть доступна для поиска в bibisect на ветке master по пути к следующей версии, так как почти все фиксации на ветке релиза идут в первую очередь на ветку master. Поэтому обращайтесь с осторожностью.

особенности репозитория ежедневных сборок dbgutil

Каждая версия имеет файл build-info.txt, и первая строка файла содержит source-hash который говорит о сборке. Это будет полезно, если вы включите исходные хэши последней хорошей версии и первый плохой в вашем докладе о результатах тестирования bibisect.

Не доступно для поиска

Некоторые ошибки не доступны для поиска при помощи Bibisect. Это включает:

  • Ошибки, которые не воспроизводятся на GNU/Linux
  • Ошибки, которые предшествуют покрытию в сборке Bibisect (Мы работаем над расширением покрытия)
  • Ошибки, которые зависят от параметров создания не включен в сборки TDF (например, ошибки в -kde)

Еслиa ошибка с bibisectrequest в поле статуса whiteboard оказывается не пригодной для поиска при помощи Bibisect, оставьте комментарий на ошибки объясняя, почему мы не можем использовать Bibisect, и заменить bibisectrequest на NotBibisectable в поле статуса whiteboard.

Выбор ошибки

Выберите ошибку нуждающуюся в поиске при помощи Bibisect

Следующие ошибки в поле whiteboard с записью bibisectrequest ожидают обработки:

Failed to load RSS feed from https://bugs.documentfoundation.org/buglist.cgi?list_id=145560&product=LibreOffice&query_format=advanced&status_whiteboard=bibisectrequest&status_whiteboard_type=allwordssubstr&title=Bug%20List&ctype=atom&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED: Error parsing XML for RSS Открыть этот лист в Bugzilla

Кроме того, для всех нерешенных регрессий в LibreOffice можно попытаться использовать bibisecting.

Поиск ошибок уже прошедших проверку на Bibisect

Ссылки на запросы в Bugzilla смотрите тут.

С учетом указанной выше информации добавленой к ошибке разработчик знает, что регрессия появилась между фиксациями fb754a0df859e30255c25af8fa19bfaa75f257e7 (good) and 2d19e9bb07ccff3134f855812dddfda5c07b1fe4 (bad) в мастере.

> git log fb754a0df859e30255c25af8fa19bfaa75f257e7..2d19e9bb07ccff3134f855812dddfda5c07b1fe4

В репозитории исходного кода будет показано 128 фиксаций в том числе та, которая спровоцировала ошибку. Это сильно облегчает поиск для разработчиков, и ускоряет исправление ошибки.

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

Подробнее можно посмотреть:

./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.

If soffice is failing with a non-zero exit code--this probably means a crash--a solution under #Tidbits for efficiency offers a script to ease the pain of repeatedly skipping failed probes.

Finding source commits from bibisect

If bibisect was done, but not likely to be correct or in a repository known to have large range of source commits, we can check the range by finding a previous build commit from the found one and then find the source range.

$ git log -1 1f14665c5624bc7a502738aa8f4f2bd70a211e72^
$ git log --oneline b6c016da23d309b4ac7d154bc33a22397974ed73..d85fd8a85501547d5bb87822d2589a07aed7f2d6

Особые ситуации

Работа в отдельном профиле пользователя

Чтобы создать отдельный каталог пользователя в /tmp/ (который будет автоматически удалён при следующей перезагрузке системы):

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

Если вы хотите, чтобы каждый запуск программы создавал новый каталог с хэш-кодом фиксации git, вы можете добавить в конец имени каталога $(git rev-parse HEAD). Для примера:

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

Finding a fix

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

Иногда ошибка неочевидным путём является побочным эффектом другой (возможно маленькой) ошибки. В таких случаях ошибка может быть исправлена на ветке master, но не внесена в основную ветку. Вы можете найти исправление таким же способом как и ошибку, кроме того, что вам нужно вводить git bisect good за git bisect bad и наоборот. Если исправления небольшие и достаточно важные, это может легко быть перенесено в основную ветку.:

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 1: 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)

Problem 2: Trying to run soffice within bibisect gives frequent errors such as "Application Error" and skipping via 'git bisect skip' is tedious.

Solution: Upon an error, run one-line script to skip commit on error message and try the next one. Script will stop when soffice is successfully run and then you proceed with 'git bisect good' or 'git bisect bad'. If error is repeated, script can be run again.

 while (git clean -f -X && git bisect skip && ! instdir/program/soffice); do : ; done

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

How to bisect File Recovery bugs

In case you need to bisect File Recovery bugs ( e.g. tdf#129210 ), comment out line OOO_DISABLE_RECOVERY=1 in file instdir/program/ooenv

Поиск проблем и их решение

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.

Пожалуйста, добавьте вашу проблему и способ её решения.

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'
alias sof="\$( if [[ -d instdir ]] ; then echo instdir ; else if [[ -d opt ]] ; then echo opt ; fi ; fi )/program/soffice --norestore --nologo"

Невозможно извлечь файлы

Если вы не можете извлечь файлы (вы полчите сообщение об ошибке). Попробуйте переименовать файл *.tar.lzma в *.tar.xz.

 === Появляется ошибка, что LibreOffice изменён ===

Проблема / Сообщение:

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

Решение:

> git checkout .

Это решит проблему. После этого вы можете начать следующий тест как обычно:

> git bisect good # or git bisect bad

Если это не помогло решить проблему, попробуйте:

> git clean -fd
> git reset --hard

The ultimate repair is to delete everything except one .git/ hidden folder, and do git checkout oldest.

Не удается запустить soffice

Проблема: После попытки запустить soffice, вы можете получить сообщение от ошибке "unexpected operator terminate called after throwing an instance of 'com::sun::star::uno::DeploymentException' Решение: Сбросьте пользовательский профиль. Если вы работаете с основным пользовательским профилем, сделайте его копию, и удалите ~/.config/libreoffice, ошибка должна исчезнуть. После работы с Bibisect восстановите профиль из резервной копии. При тестировании, лучше не использовать основной пользовательский профиль, чтобы не пришлось потом сожалеть о потерянных настройках и времени.

Дополнительная информация

Примечания

  • QA/Bibisect/Implementation - подробная информация о создании архивов для bibisect;
  • Bibisectzilla - информации о слиянии всех наших bibisect

хранилищ в одно;

  • Bibisect GUI - мы хотим сделать графический интерфейс для bibisect.

Примечание

  1. Могут быть до сих пор доступны на http://people.canonical.com/~j-lallement/libreoffice/binrepo/
  2. другие 250+ ошибок упоминаются в bibisect, но не имеют тегов. Возможно, просто забыли пометить
  3. сейчас хранится в http://people.canonical.com/~bjoern/bibisect/bibisect-42all.tar.xz , но скоро будут удалены как устаревшие
  4. он один заменяет оба следующие, более мелкие репозитории: в диапазоне от 4.2 до alpha1 и в диапазоне от alpha1 до точки ветвления 4.3 -- скорее всего, будет удален в ближайшее время
  5. Бьорн (Bjoern) создаёт постфактум репозиторий (после создания меток alpha или после ответвления) в автоматическом и понятным способом, с оптимизацией (например, отключением SDK). Миклош (Miklos) создаёт репозиторий на ежедневной основе (отсюда и название) из уже фрагментированной сборки. Поэтому его сборки в долгосрочной перспективе, вероятно, менее полезно (пока вы не охотитесь на проблемы dbgutil). Однако они очень полезны при отслеживании ошибок, которые произошли, например, на прошлой неделе, если меток в репозитории ещё не было. Это также значит, что если вы клонируете упоминаемый репозиторий через несколько дней после ответвления, он содержит только несколько фиксаций (commit). В этом случае вам может быть интересны старые версии. Это также причина, почему число в столбце размера постоянно изменяется.