[Libreoffice-bugs] [Bug 137745] LO Base Firebird: crash, when deleting tables and changed relationship isn't changed in database file

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Thu Nov 26 22:12:05 UTC 2020


https://bugs.documentfoundation.org/show_bug.cgi?id=137745

Julien Nabet <serval2412 at yahoo.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|libreoffice-bugs at lists.free |serval2412 at yahoo.fr
                   |desktop.org                 |
             Status|NEW                         |ASSIGNED
                 CC|                            |lionel at mamane.lu,
                   |                            |serval2412 at yahoo.fr

--- Comment #8 from Julien Nabet <serval2412 at yahoo.fr> ---
On pc Debian x86-64 with master sources updated today, I could reproduce this.
After having put a break in:
OTableContainerListener::clear() at
connectivity/source/commontools/TTableHelper.cxx:96
and
OTableContainerListener::elementRemoved(com::sun::star::container::ContainerEvent
const&) at connectivity/source/commontools/TTableHelper.cxx:77

I began to delete tables and found these:
#0  (anonymous namespace)::OTableContainerListener::clear() (this=0x41a3800) at
connectivity/source/commontools/TTableHelper.cxx:96
#1  0x00007f786b1e39ba in connectivity::OTableHelper::disposing()
(this=0x57f6ac0) at connectivity/source/commontools/TTableHelper.cxx:186
#2  0x00007f78772fd3b3 in cppu::WeakComponentImplHelperBase::dispose()
(this=0x57f6af0) at cppuhelper/source/implbase.cxx:104
#3  0x00007f785a873f98 in
cppu::PartialWeakComponentImplHelper<com::sun::star::sdbcx::XColumnsSupplier,
com::sun::star::sdbcx::XKeysSupplier, com::sun::star::container::XNamed,
com::sun::star::lang::XServiceInfo>::dispose() (this=0x57f6af0) at
include/cppuhelper/compbase.hxx:90
#4  0x00007f786b221ab2 in
comphelper::disposeComponent<com::sun::star::lang::XComponent>(com::sun::star::uno::Reference<com::sun::star::lang::XComponent>&)
    (_rxComp=uno::Reference to (connectivity::firebird::Table *) 0x57f6b10) at
include/comphelper/types.hxx:48
#5  0x00007f786b2d89a6 in (anonymous
namespace)::OHardRefMap<com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet>
>::disposeAndErase(int) (this=0x55f12d0, _nIndex=2)
    at connectivity/source/sdbcx/VCollection.cxx:162
#6  0x00007f786b2d62db in connectivity::sdbcx::OCollection::dropImpl(int, bool)
(this=0x55dc2a0, _nIndex=2, _bReallyDrop=true) at
connectivity/source/sdbcx/VCollection.cxx:418
...

#0  (anonymous
namespace)::OTableContainerListener::elementRemoved(com::sun::star::container::ContainerEvent
const&) (this=0x58cedd0, Event=...) at
connectivity/source/commontools/TTableHelper.cxx:77
#1  0x00007f786b2d6709 in
connectivity::sdbcx::OCollection::notifyElementRemoved(rtl::OUString const&)
(this=0x55dc2a0, _sName="tmv_Verträge") at
connectivity/source/sdbcx/VCollection.cxx:430
#2  0x00007f786b2d62ed in connectivity::sdbcx::OCollection::dropImpl(int, bool)
(this=0x55dc2a0, _nIndex=2, _bReallyDrop=true) at
connectivity/source/sdbcx/VCollection.cxx:421
...

Since elementRemoved was called after OTableContainerListener::clear() which
puts m_pComponent to nullptr, we must check if m_pComponent is null before
using  it in elementRemoved.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20201126/c3619bc5/attachment-0001.htm>


More information about the Libreoffice-bugs mailing list