[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-smalltalk] Single stepping issue in the JIT
From: |
Paolo Bonzini |
Subject: |
Re: [Help-smalltalk] Single stepping issue in the JIT |
Date: |
Fri, 03 Jan 2014 21:21:01 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 03/01/2014 21:19, Holger Hans Peter Freyther ha scritto:
>> > 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?
Doesn't sound impossible. I'll take a look next week (full week of free
time hacking!)
Paolo