[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-smalltalk] Single stepping issue in the JIT
From: |
Holger Hans Peter Freyther |
Subject: |
Re: [Help-smalltalk] Single stepping issue in the JIT |
Date: |
Fri, 3 Jan 2014 21:19:13 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Jan 03, 2014 at 08:56:12PM +0100, Holger Hans Peter Freyther wrote:
> So the process does not suspend and the TOS appears to be something
> wird. Do you have an idea of what could go wrong?
I think it is a race:
_after_ the process has been suspended by the primitive the async queue
is ran which will put back the semaphoreOOP into the myList.
(gdb) bt
#0 0xb76d2901 in remove_process_from_list (address@hidden)
at interp.c:1399
#1 0xb76d29dc in add_last_link (semaphoreOOP=0x4043f6c0,
address@hidden) at interp.c:1478
#2 0xb76d2a39 in sleep_process (address@hidden) at interp.c:1887
#3 0xb76d73cf in resume_process (address@hidden,
alwaysPreempt=<optimized out>, address@hidden) at interp.c:1797
#4 0xb76e43bf in _gst_sync_signal (address@hidden,
address@hidden) at interp.c:1544
#5 0xb76e4717 in _gst_do_async_signal (semaphoreOOP=0x40489e80) at
interp.c:1559
#6 0xb76e58bf in empty_async_queue () at interp.c:1632
#7 _gst_interpret (address@hidden) at interp-jit.inl:420
#8 0xb76e6c00 in _gst_nvmsg_send (address@hidden,
address@hidden, address@hidden,
address@hidden) at interp.c:2317
So is it possible that the suspended process is also the get_active_process
at that time? And then it gets re-inserted into the waiting list?