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

Fix OpenSSLInitialized thread safety (#1739) #1740

Merged
merged 3 commits into from
Jul 18, 2017

Conversation

neotron
Copy link
Contributor

@neotron neotron commented May 31, 2017

The init/uninit methods can be called from multiple threads, and thus need synchronization with a mutex.

The init/uninit methods can be called from multiple threads, and thus need synchronization with a mutex.
@neotron
Copy link
Contributor Author

neotron commented Jul 10, 2017

@aleks-f addressed comments.

…d by a mutex and no longer needs to be atomic.
@aleks-f aleks-f requested a review from obiltschnig July 10, 2017 18:47
@aleks-f
Copy link
Member

aleks-f commented Jul 10, 2017

@obiltschnig see discussion in issue #1739

@aleks-f aleks-f merged commit 40324cd into pocoproject:develop Jul 18, 2017
@iivmok
Copy link

iivmok commented May 17, 2019

Hey, when will this fix be release in the master? We are having huge production issues with this in our multi-threaded server application.

@aleks-f
Copy link
Member

aleks-f commented May 17, 2019

This has not even been merged into the upcoming release branch. If you want to see it in next release, send pull to poco-1.9.1.

@obiltschnig can tell when the next release will happen. Generally speaking, if you have urgent business needs, consider sponsorship to make things happen in desired timeframe.

@iivmok
Copy link

iivmok commented Oct 22, 2019

@obiltschnig into what branch should we make a pull request for this to be in the next update? 1.10.0? There doesn't seem to be a 1.9.5 release branch.

@obiltschnig
Copy link
Member

Please re-target against poco-1.10.0 branch.

@hbzxl
Copy link

hbzxl commented Jul 22, 2024

@obiltschnig, this issue remain in main branch, when to repair it?

@hbzxl
Copy link

hbzxl commented Jul 25, 2024

@iivmok what your multi-thread problem? my problem is query database thread blocked:

Thread 56 (Thread 0x7f22027fc700 (LWP 32923)):
#0 0x00007f28e5e3042d in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x00007f28e5e2bdcb in _L_lock_812 () from /lib64/libpthread.so.0
#2 0x00007f28e5e2bc98 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x00007f28d85f0182 in Poco::Crypto::OpenSSLInitializer::lock(int, int, char const*, int) () from /home/xxx/dll/libPocoCrypto.so.16
#4 0x00007f28bc4d54e3 in int_thread_get () from /home/xxx/libcrypto.so.1.0.0
#5 0x00007f28bc4d6a4c in int_thread_get_item () from /home/xxx/libcrypto.so.1.0.0
#6 0x00007f28bc4d6c4b in ERR_get_state () from /home/xxx/libcrypto.so.1.0.0
#7 0x00007f28bc4d75f6 in ERR_clear_error () from /home/xxx/libcrypto.so.1.0.0
#8 0x00007f27b03a6c4d in ?? () from /home/xxx/libpq.so.5
#9 0x00007f27b0398561 in ?? () from /home/xxx/libpq.so.5
#10 0x00007f27b03968e5 in PQgetResult () from /home/xxx/libpq.so.5
#11 0x00007f27b05eb126 in CPostgresqlRecordSet::GetColumnInfo() () from /home/xxx/libpostgresql.so
#12 0x00007f27b05d9d7e in CPostgresqlConnection::OpenCursorImpl(char const*, char const*, std::vector<TFieldInfo, std::allocator >) () from /home/xxx/libpostgresql.so
#13 0x00007f27b05e2529 in IConnection::OpenCursor(char const
, char const*, std::vector<TFieldInfo, std::allocator >, int) () from /home/xxx/libpostgresql.so
#14 0x00007f27b05d1153 in IConnection::OpenRecordSet(char const
) () from /home/xxx/libpostgresql.so

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants