Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Race/heap corruption on thread exit #3595

Closed
monetdb-team opened this issue Nov 30, 2020 · 0 comments
Closed

Race/heap corruption on thread exit #3595

monetdb-team opened this issue Nov 30, 2020 · 0 comments
Labels
bug Something isn't working GDK Kernel normal

Comments

@monetdb-team
Copy link

Date: 2014-10-03 14:56:15 +0200
From: Richard Hughes <<richard.monetdb>>
To: GDK devs <>
Version: 11.17.21 (Jan2014-SP3)
CC: @njnes

Last updated: 2014-10-31 14:14:31 +0100

Comment 20235

Date: 2014-10-03 14:56:15 +0200
From: Richard Hughes <<richard.monetdb>>

Created attachment 300
proposed fix

Valgrind picked up a write-to-freed-memory when a client disconnected. I tracked it down to the following series of events:

Thread 1 Thread 2


in MSserveClient calls join_threads()
starts to exit
calls MT_exiting_thread
sets p->exited=1
notices posthread::exited==1
calls rm_posthread
calls free(p)
blocks in pthread_join
returns to thread_starter
sets p->exited=1

That last assignment is to freed memory.

Attached a patch to fix this.

Attached file: thread-exit-heap-corruption.patch (application/octet-stream, 677 bytes)
Description: proposed fix

Comment 20283

Date: 2014-10-11 18:04:57 +0200
From: MonetDB Mercurial Repository <>

Changeset eaadb9ab037d made by Niels Nes niels@cwi.nl in the MonetDB repo, refers to this bug.

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=eaadb9ab037d

Changeset description:

free thread data after last use, fixes bug #3595.

Comment 20284

Date: 2014-10-11 18:05:24 +0200
From: @njnes

Thanks for the patch. Indeed fixes the problem

Comment 20376

Date: 2014-10-31 14:14:31 +0100
From: @sjoerdmullender

Oct2014 has been released.

@monetdb-team monetdb-team added bug Something isn't working GDK Kernel normal labels Nov 30, 2020
@sjoerdmullender sjoerdmullender added this to the Ancient Release milestone Feb 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working GDK Kernel normal
Projects
None yet
Development

No branches or pull requests

2 participants