GUI crashes with freePtr when stepping through code on Windows 8
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comience reproduciendo el fallo mientras recorre el código paso a paso en Windows 8 y, a continuación, siga cómo el depurador invoca MainWindow.on_stack y MainWindow.on_line en relación con el bucle de eventos de Tk. Revise el flujo de debugger_update basado en Queue propuesto y verifique que la ejecución paso a paso finaliza sin el error TclStackFree.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When playing with testing bugjar on Windows 8 I discovered that the UI component will consistenly crash with the following error on the console.
TclStackFree: incorrect freePtr. Call out of sequence?
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Based on this link, it seems that this error is caused by more than one thread accessing the tk event loop.
My hypothesis is that the Debugger is invoking callbacks such as MainWindow.on_stack and MainWindow.on_line from the non tk event thread.
Below is an attempt to rectify this situation using the python Queue object.
class MainWindow(object):
def __init__(self, root, debugger):
# <snip>------------
self.queue = Queue.Queue()
self.root.after(200, self.debugger_update)
debugger.start()
def debugger_update(self):
try:
while 1:
func_name, args = self.queue.get_nowait()
handler = getattr(self, func_name)
handler(*args)
except Queue.Empty:
pass
self.root.after(100, self.debugger_update)
# <snip>------------
def on_stack(self, stack):
self.queue.put(('_on_stack', (stack,),))
def _on_stack(self, stack):
# <snip>------------
Using the above setup, I have found that I am able to step through the code without encountering the same freePtr issue.
- Lenguaje dominante
- Python
- Estrellas
- 256
- Forks
- 35
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de beeware/bugjar
-
bugjar errorAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
DistributionNotFoundAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
Todos los issues de beeware/bugjar
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
google-agentic-commerce/AP2#388 ·
-
area:codegen backend:cuda backend:hip bug direction:input
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
CrossGL/crosstl#3061 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
rlaope/oh-my-hermes#2304 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
mochan-tk/agentic-dev-kit-for-codex#64 ·
Los mantenedores suelen responder en 1 día
-
Windows ARM memory-leakAbiertobug docs performance
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 3 días