Age | Commit message (Collapse) | Author |
|
Apparently commit ea858ca92488309789e83666681a358af1d9f6f6 broke it on
Fedora 38, where i now get:
gdb.error: No type named std::_Head_base<0ul, BlockInfo**, false>.
So try both variants.
Change-Id: If344077df7a6b329286bc1296446562301305946
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154525
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
On pc Debian testing with GNU gdb (Debian 13.2-1) 13.2, I got this trying to debug tdf#131173
Thread 1 "soffice.bin" hit Breakpoint 1, SwUndoTableMerge::UndoImpl (this=0x5599a0d302b0, rContext=...) at sw/source/core/undo/untbl.cxx:1878
1878 SwStartNode* pSttNd = rDoc.GetNodes().MakeTextSection( aIdx.GetNode(),
(gdb) p rDoc.GetNodes()
$1 = (SwNodes &) @0x5599a0477000: {<BigPtrArray> = BigPtrArray of length 18Python Exception <class 'gdb.error'>: No type named std::_Head_base<0, BlockInfo**, false>.
, m_vIndices = 0x5599a04a4478, m_rMyDoc = @0x5599a0479590, m_pEndOfPostIts = 0x5599a04739b0, m_pEndOfInserts = 0x5599a042da70,
m_pEndOfAutotext = 0x5599a04764b0, m_pEndOfRedlines = 0x5599a04765e0, m_pEndOfContent = std::unique_ptr<SwNode> = {get() = 0x5599a0478d20},
m_aOutlineNodes = {<o3tl::sorted_vector<SwNode*, CompareSwOutlineNodes, o3tl::find_unique, true>> = {m_vector = std::__debug::vector of length 0, capacity 0}, static npos = 18446744073709551615},
m_bInNodesDel = false, m_bInDelUpdOutline = false}
with the patch, I got:
(gdb) p rDoc.GetNodes()
$1 = (SwNodes &) @0x55c379492b10: {<BigPtrArray> = BigPtrArray of length 18 = {
[ 0] 0x55c37948c9a0 StartNode ,
[ 1] 0x55c3794859a0 EndNode ,
[ 2] 0x55c379492bb0 StartNode ,
[ 3] 0x55c37948a6c0 EndNode ,
[ 4] 0x55c3794925a0 StartNode ,
[ 5] 0x55c37948ff10 EndNode ,
[ 6] 0x55c379492630 StartNode ,
[ 7] 0x55c379490040 EndNode ,
[ 8] 0x55c3794926c0 StartNode ,
[ 9] 0x55c3795bd170 TableNode ,
[ 10] 0x55c379606280 StartNode ,
[ 11] 0x55c379616ee8 TextNode "",
[ 12] 0x55c37960cd70 EndNode ,
[ 13] 0x55c379612780 EndNode ,
[ 14] 0x55c3794b6628 TextNode "",
[ 15] 0x55c37962d848 TextNode "",
[ 16] 0x55c379616778 TextNode "",
[ 17] 0x55c37948fd20 EndNode }, m_vIndices = 0x55c3794bda68, m_rMyDoc = @0x55c379492f80, m_pEndOfPostIts = 0x55c3794859a0, m_pEndOfInserts = 0x55c37948a6c0, m_pEndOfAutotext = 0x55c37948ff10,
m_pEndOfRedlines = 0x55c379490040, m_pEndOfContent = std::unique_ptr<SwNode> = {get() = 0x55c37948fd20}, m_aOutlineNodes = {<o3tl::sorted_vector<SwNode*, CompareSwOutlineNodes, o3tl::find_unique, true>> = {
m_vector = std::__debug::vector of length 0, capacity 0}, static npos = 18446744073709551615}, m_bInNodesDel = false, m_bInDelUpdOutline = false}
Change-Id: I492b49dd1a554dc95abb0ed97fa99541c8dbd7f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153111
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
since
commit 9536098ff107f1096e7f710c6f1e76c5659a5482
Date: Tue Nov 17 10:15:11 2020 +0200
simplify BigInt, remove isSet
and
commit 33b8f7c10baead5fdd24d9b68caab54052bd00ba
Date: Wed Jan 6 10:41:22 2021 +0200
bIsBig member is redundant
Change-Id: I877364d4b5ed11812c34f2b5d51ec60dd6cca9de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144215
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ic1b475f4bc443a9f6e79c7c5ef36496dcf602a8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142418
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
(regression from commit b1cefa026d52fad4557d10c721fe9d5e57200bd6)
Also unbreak SwXTextRangePrinter, not sure why that broke.
Change-Id: I4d6f640e0b8422fcf9ae84fffabc77161311eac1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140522
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
after
commit 739f3bb7228fa8c33029af46093b4646f848814b
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Wed Aug 31 15:29:20 2022 +0200
improve the SwContentIndex debug pretty printer
Change-Id: Ib7b30f2f7d9a33f70243d8b72357b6f9823bc397
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140062
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7fa4f25b285c4cf7a62e3aa4616dbbca4e1c1e76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139114
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Also updated debug pretty-printers
Change-Id: I5204bb8f1c6a47677ad3c49d6579c090ea69aedc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137388
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
to help my poor brain with the different kinds of index we have floating
around
Change-Id: I47ed223922170687d7e07812445aed66b3218230
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137404
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
m_pImpl was removed in commit cb0991e32987108d900ec7e8fcd4ce477ebc9fb4
Change-Id: I9ca0cdbca97242ace5243f140ac2e17055b3f718
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129685
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
It looks like this in libstdc++:
<BigPtrArray> = {
m_ppInf = {
_M_t = {
<std::__uniq_ptr_impl<BlockInfo*, std::default_delete<BlockInfo* []> >> = {
_M_t = {
<std::_Tuple_impl<0, BlockInfo**, std::default_delete<BlockInfo* []> >> = {
<std::_Tuple_impl<1, std::default_delete<BlockInfo* []> >> = {
<std::_Head_base<1, std::default_delete<BlockInfo* []>, true>> = {
_M_head_impl = {<No data fields>}
}, <No data fields>},
<std::_Head_base<0, BlockInfo**, false>> = {
_M_head_impl = 0x567fd20
}, <No data fields>}, <No data fields>}
}, <No data fields>}
},
Note there are 2 _M_head_impl members, and somehow gdb 11.1-2.fc34 picks
the wrong one.
A manual cast to std::_Head_base<0, BlockInfo**, false> seems to help.
Change-Id: I1332c2fc6eb2661d417fd92a73aed977bbb1dcea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126220
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
DefaultProperties::SetObjectItemSet is very hot when loading
shapes, and a large chunk of that cost is allocating the pool item
array.
So use a template class to allocate the array in-line to the class,
which means it can be allocated on-stack.
Change-Id: Ic53b41f35784726362de38fceb35f8634cddf0a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122310
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
because this is often on a hot path, and we can avoid the splitting and
joining of strings like this.
Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
SfxItemSet shows up in perf profiles frequently,
and the hottest part is the malloc of the two arrays we need.
But most of the time, one of those arrays is a compile-time
constant.
So this change introduces
(*) WhichRangesContainer, which manages whether the SfxItemSet
owns the array it points at or not.
(*) a static const member in svl::Items (idea from mkaganski)
to store the data.
Change-Id: Icb8cdbc4d54fd76739565c575e16a744515e5355
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118703
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... and hopefully make it python2.7 compatible... definitly a
"brown paperbag" fix... well it did work locally ;-)
I just noticed, because Jenkins spilled some errors from GDB on
hang with:
Traceback (most recent call last):
File "/.../instdir/program/libvcllo.so-gdb.py", line 23, in <module>
module = importlib.import_module('libreoffice.' + mod)
File "/.../python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/.../solenv/gdb/libreoffice/vcl.py", line 101
print('STACK', end =", ")
Change-Id: I500e8fea07e9865235e37673dee6374108fefbf2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118237
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Adds a pretty printer for the whole Scheduler context and fixes an
off-by-one error when dumping the ImplSchedulerData singly-linked
list.
Change-Id: I94129fc164986b379f33854651ff6df766eff97f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118075
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
because it's actually transparency, not alpha, and having proper naming
helps my limited brain keep track of stuff better when debugging
And have both the stream operator and the debugging printer print out
alpha values, for consistency.
Change-Id: I9bc9ffcb71d554603591935e4043a3fb14646ebd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114886
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
After 4a899a5f8a72ea29a6919316afe3627de9f33e95 "Fix Python deprecation warnings"e.g. <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/70542/console>
started to complain
> Traceback (most recent call last):
> File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/libuno_sal.so.3-gdb.py", line 23, in <module>
> module = importlib.import_module('libreoffice.' + mod)
> File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
> __import__(name)
> File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/solenv/gdb/libreoffice/sal.py", line 14, in <module>
> from libreoffice.util import printing
> File "/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/solenv/gdb/libreoffice/util/printing.py", line 10, in <module>
> from collections.abc import Mapping
> ImportError: No module named abc
etc. when lode's bin/kill-wrapper calls gdb to obtain backtraces of hung
processes.
Change-Id: I4fe6c6fa97bbb455a071dd28e5c1ab33f2337a0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104119
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
I noticed these "DeprecationWarning: Using or importing the ABCs from
'collections' instead of from 'collections.abc' is deprecated since Python 3.3,
and in 3.9 it will stop working" now when running tests with
CPPUNITTRACE='gdb --args' on Fedora 32.
Change-Id: If263dacb9df5c1fffd2be2418e13e69b96070c77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103294
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
+ remove sal_Char check on compilerplugins
Change-Id: I0f7da14e620f0c3d031d038aa8345ba4080fb3e9
Change-Id: Ia6dba4f27b47bc9e0c89159182ad80a5aee17166
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102499
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
According to [1]:
> Changed in version 3.6: Unrecognized escape sequences produce a DeprecationWarning.
> In a future Python version they will be a SyntaxWarning and eventually a SyntaxError.
[1] https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
Change-Id: Ia4f79f17ccb121f423f35b1e1306d5ae285e8762
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98321
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I450f5cd83e116baab8d1750a9ed7def002e234c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89317
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
|
|
no longer necessary after
commit 31589bf0239679d73417902655045c48c4868016
Date: Mon Jun 24 15:02:55 2019 +0200
tdf#94677 Calc is slow opening large CSV, improve tools::Fraction
Change-Id: I1c9ee043a51216f7005bf8a4bf60bb4b4e39ab61
|
|
Change-Id: I816ccde944903e0ff3ac23e92632056a3192b060
Reviewed-on: https://gerrit.libreoffice.org/73069
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Replace vim modeline with Python specific one to avoid problems with
tabs and spaces, and also make code more pythonic.
Change-Id: Ia0959787ceea740b5c97f500c60ef423fbed0651
Reviewed-on: https://gerrit.libreoffice.org/72375
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
after
commit d487d6e082bc7ce652217578ffd37397a59cc3ca
Date: Sat Apr 20 11:06:11 2019 +0900
rework Color to have R,G,B,A public variables
Change-Id: I0ebbb071d2fad43bd49ef8421804657dfdfc446d
Reviewed-on: https://gerrit.libreoffice.org/71041
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Add single quotes around the namespace::class construct, when calling
gdb.parse_and_eval(), otherwise this exception is thrown:
"Python Exception <class 'gdb.error'> A syntax error in expression, near `)xxx)->count($'.:"
The reason is a possible conflict with '::' referring a static variable
(https://sourceware.org/gdb/onlinedocs/gdb/Variables.html).
Also improved the B2DPolyPolygonPrinter::children method to avoid a
segmentation fault, when accessing member m_value.
Change-Id: I1c15a4b786e1e374c67ace445d28c1ce210a4c04
Reviewed-on: https://gerrit.libreoffice.org/70537
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
revert part of
commit 6f50961e69406a17d6ec998956a6b33208b1001b
remove more rtl::OUString and OString prefixes
Change-Id: I026f8175c855a20bab54940f6235bca5c91ddbab
|
|
which seem to have snuck back in since the great rounds of removals.
Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1
Reviewed-on: https://gerrit.libreoffice.org/62229
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
just whyyyyyyy are you people doing this, why do you gratuitously
break things others rely upon for productivity?!?? I don't give
a F about uniqueptrs, all I want is to be able to print this bloody
SfxItemSet. It's frustrating AF
Change-Id: I0b6110c1806c31a3c098fb9dc73883047191c7f9
Reviewed-on: https://gerrit.libreoffice.org/52362
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
work-around gdb bug, and deal with different representations of
std::unique_ptr in different versions of libc++.
Change-Id: I02a1f49c07dbcd70e13ef6be48e20b510bf5e3fa
|
|
...to 048a32d903c8cc81a8836c7c7209b92e0bfd6cd7 "use unique_ptr for pImpl in
tools/", exploiting intimate knowledge of libstdc++ internals as was already
done in 51bb68928933bf5d72efb9193f1be6af6e72c80f "fix BigPtrArray pretty
printer".
Due to <https://sourceware.org/bugzilla/show_bug.cgi?id=22968> "ptype does not
find inner C++ class type without -readnow", at least for me only works when gdb
is invoked with -readnow.
Change-Id: I365733f3c661eea2f19a9b85015aa5d50e63e6a4
|
|
gdb 8.0.1 tends to sefault while evaluating the getB2DPoint()
calls; it passes some obviously wrong index instead of 0.
Also, add a children method to B2DPolyPolygonPrinter.
Change-Id: Ifbf52ad384d1f60b26ee95f87405eff2c6f2388a
|
|
Latest gdb release "lazy_string" validates the array size:
Traceback (most recent call last):
File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line
29, in to_string
return self.make_string(data, self.encoding, len)
File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line
66, in make_string
return data.lazy_string(encoding, length)
gdb.error: Length is larger than array size.
rtl_uString has "sal_Unicode buffer[1];", which is a lie
as the real size is the same as "length".
Taking the address of "buffer" appears to avoid the exception.
Change-Id: I85710b1adfae584ba09c8d517e9b49b290e79d8a
|
|
Change-Id: I1eb1efedb98979b692874ae0ec48120cb5a38188
|
|
This was changed in d72aad218c9737fb19d1a835b03c13b7107a96c0
Change-Id: Ie93f603c82669ca612fbf9635a62c50e63702a85
|
|
mbDelete is gone, as we simply check for mpTask.
Change-Id: I9d451f2445fb6b978d177b45d75abde2595c5fac
|
|
after commit 64079184cc06444e9dfdb55a5c66829e929d4a59
"improve useuniqueptr loplugin to find arrays"
Change-Id: I29841af65fcb0c1f92e52d9aeee164328bbb4663
|
|
There is really no reason to wait a millisecond for an idle.
Change-Id: I7665d5f2e7d6ba3e01290a692bbc8e42c36b9986
|
|
While the stack removes all invoked tasks from the queue, which
actively removes it from scheduling, it also helps to faster handle
nested calls, as we don't have to look for the previous position
to move the task to the end of the queue for the round robin.
Change-Id: I358cf2492e9630f67685a2b780509edb56691830
|
|
After commit c6902761d797253cda8b3f71f102c66108585e24
"Revert "use std::vector in BigPtrArray""
<mst_> noelgrandin: you reverted both gdb changes but only one sw
change?
<noelgrandin> mst_, I thought your gdb change only appliled to the
std::vector?
<mst_> noelgrandin: there was another std::something or other change
there, one was mvInfo and the other mvData
<noelgrandin> mst_, sigh, will fix that
Change-Id: I3059d29b1a559eb3077f5d713be011e15e887ee0
|
|
which is causing crashes in the crashtesting in
ooo119635-3.docx and ooo119568-2.docx
It is definitely some kind of use-after-free error, but the
compress and delete logic for BigPtrArray is too hairy for me
to debug right now.
This reverts commit 1eee0abd459a508a6dcf9e71cbf2c1be3725faa7.
Also revert commit 4f743419a04375160437a910254c45dea396f70d
"gdb pretty-printers: fix BigPtrArrayPrinter after recent std::isation"
Change-Id: Id870876432a060f9347aafb43bf0df692ea24464
Reviewed-on: https://gerrit.libreoffice.org/39684
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie98f080fbb0efb807dcb2fb7893811f68e831a8f
|
|
Change-Id: I54529e7086014a2feba89eb73f3b368d36f758b8
|
|
This reverts commit 2757ee9fe610e253e4ccc37423fa420004d0f388.
Besides causing a performance regression, I now notice that
there is code in SW that relies on iterating over two different
SfxItemSet's in parallel, and assumes that missing items are
returned as nullptr, which is not the case for my std::map based
change.
Change-Id: I2b1110350fe4c4b74e5508558e9661ef1e1a103e
|
|
Drops a lot of duplicated code, as Idle is just a convenience
class for instant, mostly low priority timers.
Change-Id: I847592e92e86d15ab1cab168bf0e667322e48048
|
|
Moves all the "task-specific" stuff into a Task class and just
keeps the "real" static Scheduler functions in the original
Scheduler class.
Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
|
|
In addition to the GDB pretty printer, this annotates a lot more
Timers and Idles.
Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c
|
|
instead of naked array
SfxItemIter ended up needing to take copies of stuff because various
code likes to iterate over the items and delete items inside the loop.
The gdb pretty printer is no longer quite as pretty as it was before,
but it still prints useful info.
Change-Id: I59b07ea42f6b1c74798a15402970b9dbd8233dbe
|
|
Turns out that commit 30f3315d52df22716c086836c41465a6c4cb98b5 has
removed the SwClient there a long time ago, and the SwUnoCrsr was also
renamed...
Change-Id: I92932130c5adbea530c39557932efce70c9f75e7
|