https://bugs.kde.org/show_bug.cgi?id=444484

Jonathan Verner <jonathan.ver...@matfyz.cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/kdev
                   |                            |elop/kdev-python/commit/a0b
                   |                            |9d197e7da2f4484ac63cb32faf5
                   |                            |3817e3d465

--- Comment #3 from Jonathan Verner <jonathan.ver...@matfyz.cz> ---
Git commit a0b9d197e7da2f4484ac63cb32faf53817e3d465 by Jonathan L. Verner.
Committed on 28/10/2021 at 21:15.
Pushed by brauch into branch 'master'.

When codestyle.py outputs too slowly (or unexpectedly), restart it instead of
crashing.

When the `codestyle.py` is too slow in outputting data, the
`processOutputStarted` function might miss them, release the
`m_mutex` lock and set `m_stylechecker` to nullptr.

When the data then later arrives, processOutputStarted is called
again, however without `m_mutex` being held and `m_stylechecker`
no longer valid. This eventually leads to a crash when dereferencing
`m_stylechecker`.

The current commit tries to fix this by checking that `m_mutex` is
held at the start of `processOutputStarted`. If it is not, then we are
in the "late data case". However, in this situation, we do not know
the amount of data that should still arrive and basically the only
way to solve the situation, is to kill the server (and start it again
on the next run). So that is what we do.

M  +15   -0    pythonstylechecking.cpp

https://invent.kde.org/kdevelop/kdev-python/commit/a0b9d197e7da2f4484ac63cb32faf53817e3d465

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to