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

            Bug ID: 165202
           Summary: Database - Mutex lock / race condition requiring force
                    kill and restart
           Product: LibreOffice
           Version: 25.2.0.3 release
          Hardware: All
                OS: macOS (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Base
          Assignee: [email protected]
          Reporter: [email protected]

Description:
Ever since moving to 25.2.0.3 (AARCH64), I can reproducibly get a mutex lock in
Base requiring a forced kill exit and restart.

1) The database connection is to a mysql backend using the direct (native) 
connector.

2) On screen, I display the main base window, and then open a table for direct
editing of data. 

3) I set a filter on the table to select a subset of records.

4) I edit one or two fields of a given record, and then validate those entries.

5) I then try to remove the filter, i.e. set it back to displaying all of the
records.

6) At this point, LO goes into spinning beachball mode, and I'm required to
force kill the application.

7) The Apple trace that is produced at the moment the LO process is terminated
is enclosed.

It appears to show a concurrent mutex lock, or race condition, caused by an
XAccessible listener:

comphelper::OInterfaceContainerHelper3<com::sun::star::form::XLoadListener>::forEach<comphelper::OInterfaceContainerHelper3<com::sun::star::form::XLoadListener>::NotifySingleListener<com::sun::star::lang::EventObject>>(comphelper::OInterfaceContainerHelper3<com::sun::star::form::XLoadListener>::NotifySingleListener<com::sun::star::lang::EventObject>
const&) + 224 (libmergedlo.dylib + 10137008) [0x10bc3edb0]
  22  FmXGridPeer::reloading(com::sun::star::lang::EventObject const&) + 104
(libmergedlo.dylib + 25632824) [0x10cb06038]
  22 
DbGridControl::setDataSource(com::sun::star::uno::Reference<com::sun::star::sdbc::XRowSet>
const&, DbGridControlOptions) + 976 (libmergedlo.dylib + 25819700)
[0x10cb33a34]
  22  DbGridControl::RemoveRows() + 580 (libmergedlo.dylib + 25816064)
[0x10cb32c00]
  22  svt::EditBrowseBox::RemoveRows() + 20 (libmergedlo.dylib + 22718388)
[0x10c83e7b4]
  22  BrowseBox::Clear() + 436 (libmergedlo.dylib + 22619892) [0x10c8266f4]
  22  accessibility::AccessibleBrowseBoxAccess::commitEvent(short,
com::sun::star::uno::Any const&, com::sun::star::uno::Any const&) + 72
(libmergedlo.dylib + 42695428) [0x10db4bb04]
  22  accessibility::AccessibleBrowseBoxBase::commitEvent(short,
com::sun::star::uno::Any const&, com::sun::star::uno::Any const&) + 212
(libmergedlo.dylib + 42702980) [0x10db4d884]
  22  comphelper::AccessibleEventNotifier::addEvent(unsigned int,
com::sun::star::accessibility::AccessibleEventObject const&) + 400
(libmergedlo.dylib + 4619828) [0x10b6fbe34]
  22 
DocumentFocusListener::notifyEvent(com::sun::star::accessibility::AccessibleEventObject
const&) + 248 (libvclplug_osxlo.dylib + 79324) [0x106a475dc]
  22 
DocumentFocusListener::detachRecursive(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>
const&) + 76 (libvclplug_osxlo.dylib + 80692) [0x106a47b34]
  22  accessibility::AccessibleBrowseBoxBase::getAccessibleStateSet() + 100
(libmergedlo.dylib + 42700056) [0x10db4cd18]
  22  accessibility::AccessibleBrowseBoxBase::implCreateStateSet() + 116
(libmergedlo.dylib + 42705636) [0x10db4e2e4]
  22  accessibility::AccessibleBrowseBoxBase::implIsShowing() + 60
(libmergedlo.dylib + 42705100) [0x10db4e0cc]
  22  accessibility::AccessibleBrowseBoxAccess::getAccessibleContext() + 56
(libmergedlo.dylib + 42692372) [0x10db4af14]
  22  std::__1::mutex::lock() + 16 (libc++.1.dylib + 141144) [0x198d93758]
  22  _pthread_mutex_firstfit_lock_slow + 220 (libsystem_pthread.dylib + 7612)
[0x198e56dbc]
  22  __psynch_mutexwait + 8 (libsystem_kernel.dylib + 15292) [0x198e1dbbc]
 *22  psynch_mtxcontinue + 0 (com.apple.kec.pthread + 9756)
[0xfffffe000baba84c]


This does not occur with LO 24.8. ==> regression





Steps to Reproduce:
See description above

Actual Results:
Concurrent mutex locks causing hang, and requiring forced kill

Expected Results:
Shouldn't hang, the filter removal should return gracefully to the default grid
control table resultset display.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 25.2.0.3 (AARCH64) / LibreOffice Community
Build ID: e1cf4a87eb02d755bce1a01209907ea5ddc8f069
CPU threads: 8; OS: macOS 15.2; UI render: Skia/Raster; VCL: osx
Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
Calc: threaded

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to