Bug #1495: warn_printf is an unhealthy thing to have in rb_thread_schedule as it can cause recursion.
http://redmine.ruby-lang.org/issues/show/1495

Author: John Carter
Status: Open, Priority: Normal
ruby -v: ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-linux]

warn_printf is an unhealthy thing to have in rb_thread_schedule as it can (especially if you are running -rprofile) recurse back into rb_thread_schedule.

This is unhealthy as rb_thread_schedule uses several static variables and hence is not reentrant. (I discovered this when the deadlock detection reported deadlock even though there was a runnable thread! There wasn't a runnable thread, the recursion from warn_printf had just woken a thread.)

Probably present in ruby-1.8.6 as well.


----------------------------------------
http://redmine.ruby-lang.org