catphish (Charlie Smurthwaite)
- Login: catphish
- Registered on: 08/02/2017
- Last sign in: 01/18/2018
Issues
| open | closed | Total | |
|---|---|---|---|
| Assigned issues | 0 | 0 | 0 |
| Reported issues | 0 | 1 | 1 |
Activity
01/08/2018
-
10:26 AM Ruby Bug #13794: Infinite loop of sched_yield
- I notice that this bug has been closed for a while but has not been backported into 2.3. Is this likely to happen? Thanks!
10/19/2017
-
10:51 AM Ruby Bug #13794: Infinite loop of sched_yield
- I'd just like to confirm that after several weeks, I have not seen a recurrence of this issue while running the original PID check patch. Thanks all!
09/01/2017
-
04:09 PM Ruby Bug #13794: Infinite loop of sched_yield
- Hi Eric,
I have been testing your original patch (just the PID check) for a couple of days and it appears to have resolved the problem. I will report on this again in 1 week as the issue occurs quite randomly but I am currently hopefu...
08/29/2017
-
10:17 AM Ruby Bug #13794: Infinite loop of sched_yield
- Apologies for my delay in replying. I have not yet had an opportunity to fully test any of these patches (apart from my initial hack which did not work). I will aim to test your patch as soon as possible. Thank you for your assistance!
08/17/2017
-
03:08 PM Ruby Bug #13794: Infinite loop of sched_yield
- The patch above does not work because native_reset_timer_thread runs after fork in the parent. Attached an alternative patch that runs in gvl_atfork and appears not to run in the parent. Again I do not believe this is necessarily the cor...
-
11:57 AM Ruby Bug #13794: Infinite loop of sched_yield
- I am now testing the following patch:
~~~
diff --git a/thread_pthread.c b/thread_pthread.c
index 4aa2d620a2..fe99524a54 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -1685,6 +1685,7 @@ native_stop_timer_thread(void)
s...
08/15/2017
-
12:04 PM Ruby Bug #13794: Infinite loop of sched_yield
- > Can you also check the value of timer_thread_pipe.owner_process?
~~~
(gdb) print timer_thread_pipe.writing
$1 = 1
(gdb) print timer_thread_pipe.owner_process
$2 = 0
(gdb) info threads
Id Target Id Frame
2 ...
08/09/2017
-
11:56 PM Ruby Bug #13794: Infinite loop of sched_yield
- >> How about checking owner_process before incrementing?
> ...
Checking it before the while loop might work though. -
11:49 PM Ruby Bug #13794: Infinite loop of sched_yield
- > Can you also check the value of timer_thread_pipe.owner_process?
I don't have any broken processes available right now, but I will check as soon as I can.
> ...
I'm afraid this fix doesn't quite match up in my mind. To clarify, I... -
03:21 PM Ruby Bug #13794 (Closed): Infinite loop of sched_yield
- I have been encountering an issue with processes hanging in an infinite loop of calling sched_yield(). The looping code can be found at https://github.com/ruby/ruby/blob/v2_3_4/thread_pthread.c#L1663
while (ATOMIC_CAS(timer_thread_pip...