[issue26461] PyInterpreterState_Head(), PyThreadState_Next() etc can't be sanely used

2020-05-14 Thread STINNER Victor


STINNER Victor  added the comment:

Duplicate of bpo-1021318.

--
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> PyThreadState_Next not thread safe

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26461] PyInterpreterState_Head(), PyThreadState_Next() etc can't be sanely used

2016-02-29 Thread STINNER Victor

STINNER Victor added the comment:

fijal explained on IRC his use case: implement vmprof on Windows, a statistical 
profiler, using a C thread running in the Python process.

The _PyThread_CurrentFrames() API requires to be called with the GIL hold which 
is not acceptable for his use case. Having to wait for the GIL would serialize 
statistics plots and so would have a poor quality, probably similar to cProfile.

The use case is to implement something like _PyThread_CurrentFrames() without 
holding the GIL.

--

fijal mentioned pystate.c/.h functions which come with this comment:

/* Routines for advanced debuggers, requested by David Beazley.
   Don't use unless you know what you are doing! */

These functions are not safe if you don't hold head_mutex lock, but this lock 
is private in pystate.c (declared with "static").

I guess that they are safe to use if the whole process is stopped by a debugger 
like gdb.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26461] PyInterpreterState_Head(), PyThreadState_Next() etc can't be sanely used

2016-02-29 Thread STINNER Victor

STINNER Victor added the comment:

Are you asking to expose the lock?

--
nosy: +haypo, pitrou, serhiy.storchaka

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26461] PyInterpreterState_Head(), PyThreadState_Next() etc can't be sanely used

2016-02-29 Thread Maciej Fijalkowski

New submission from Maciej Fijalkowski:

All the internal uses of this API guard everything with HEAD_LOCK/HEAD_UNLOCK 
that's not exposed. It's not safe to traverse the whole API without holding 
those locks and those locks are static and module local

--
messages: 261030
nosy: fijall
priority: normal
severity: normal
status: open
title: PyInterpreterState_Head(), PyThreadState_Next() etc can't be sanely used

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com