[#57574] [ruby-trunk - Feature #8976][Open] file-scope freeze_string directive — "akr (Akira Tanaka)" <akr@...>
70 messages
2013/10/02
[#57579] [ruby-trunk - Feature #8977][Open] String#frozen that takes advantage of the deduping — "sam.saffron (Sam Saffron)" <sam.saffron@...>
25 messages
2013/10/02
[#57633] [ruby-trunk - Bug #8983][Open] [PATCH] GC.stat[:heap_free_num] returns number of unused slots on heap — "tmm1 (Aman Gupta)" <ruby@...1.net>
8 messages
2013/10/03
[#57667] [ruby-trunk - Feature #8985][Open] xwillfree - promise to free memory — "funny_falcon (Yura Sokolov)" <funny.falcon@...>
5 messages
2013/10/04
[#57679] [ruby-trunk - Feature #8987][Open] map/collect extension which handles arguments — "sowieso (So Wieso)" <sowieso@...>
16 messages
2013/10/05
[#57680] [ruby-trunk - Feature #8987] map/collect extension which handles arguments
— "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>
2013/10/05
[#57693] [PATCH 0/2] Fix strptime '%s' — Felipe Contreras <felipe.contreras@...>
Hi,
7 messages
2013/10/07
[#57694] [PATCH 1/2] time: fix strptime '%s'
— Felipe Contreras <felipe.contreras@...>
2013/10/07
'%s' is meant to imply UTC, however:
[#57703] Re: [PATCH 1/2] time: fix strptime '%s'
— Tanaka Akira <akr@...>
2013/10/07
2013/10/7 Felipe Contreras <felipe.contreras@gmail.com>:
[#57711] Re: [PATCH 1/2] time: fix strptime '%s'
— Felipe Contreras <felipe.contreras@...>
2013/10/07
On Mon, Oct 7, 2013 at 10:17 AM, Tanaka Akira <akr@fsij.org> wrote:
[#57705] [ruby-trunk - Feature #8992][Open] Use String#freeze and compiler tricks to replace "str"f suffix — "headius (Charles Nutter)" <headius@...>
43 messages
2013/10/07
[#57840] [ruby-trunk - Feature #8992] Use String#freeze and compiler tricks to replace "str"f suffix
— "sam.saffron (Sam Saffron)" <sam.saffron@...>
2013/10/13
[#57727] [ruby-trunk - Feature #8998][Open] string keys for hash literals should use fstrings — "normalperson (Eric Wong)" <normalperson@...>
17 messages
2013/10/08
[#57743] [ruby-trunk - Feature #8998] string keys for hash literals should use fstrings
— "normalperson (Eric Wong)" <normalperson@...>
2013/10/08
[#57756] Re: [ruby-trunk - Feature #8998] string keys for hash literals should use fstrings
— Eric Wong <normalperson@...>
2013/10/09
I think my failed patch exposes a bug with lazy sweep + rb_fstring.
[#57771] [ruby-trunk - Bug #9008][Open] TestProcess#test_clock_getres_constants and TestProcess#test_clock_gettime_constants fails on ARM — "vo.x (Vit Ondruch)" <v.ondruch@...>
15 messages
2013/10/09
[#57852] [ruby-trunk - Bug #9008] TestProcess#test_clock_getres_constants and TestProcess#test_clock_gettime_constants fails on ARM
— "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>
2013/10/14
[#57884] [ruby-trunk - Bug #9008] TestProcess#test_clock_getres_constants and TestProcess#test_clock_gettime_constants fails on ARM
— "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>
2013/10/15
[#57794] [ruby-trunk - Bug #9011][Open] rb_fstring unsafe to use in general case — "normalperson (Eric Wong)" <normalperson@...>
4 messages
2013/10/10
[#57812] [ruby-trunk - Bug #9013][Open] Crash on start — "lemonez (Dmitry Popov)" <lemon@...>
6 messages
2013/10/10
[#57849] [ruby-trunk - Feature #9020][Open] Net::HTTPResponse predicate/query methods — "timcraft (Tim Craft)" <redmine@...>
7 messages
2013/10/14
[#57862] [CommonRuby - Feature #9023][Open] Array#tail — "fuadksd (Fuad Saud)" <fuadksd@...>
9 messages
2013/10/15
[#57888] [ruby-trunk - Feature #9025][Open] Clarify the error message when calling a method with the wrong number of arguments — Nerian (Gonzalo Rodríguez) <siotopo@...>
11 messages
2013/10/15
[#57913] cxxflags for C++ library bindings not working for Ruby 1.9.x and 2.0? — Stefan Salewski <mail@...>
Dear Sirs,
4 messages
2013/10/17
[#57916] Re: cxxflags for C++ library bindings not working for Ruby 1.9.x and 2.0?
— Nobuyoshi Nakada <nobu@...>
2013/10/17
(13/10/17 22:03), Stefan Salewski wrote:
[#57950] [ruby-trunk - Bug #9039][Open] [PATCH] socket: avoid unnecessary ppoll/select on Linux (part 3) — "normalperson (Eric Wong)" <normalperson@...>
8 messages
2013/10/21
[#57951] [ruby-trunk - Bug #9040][Open] Readline duplicate file descriptors but doesn't close them — "eweb (Eamonn Webster)" <eamonn.webster@...>
8 messages
2013/10/21
[#57986] [ruby-trunk - Bug #9040] Readline duplicate file descriptors but doesn't close them
— "akr (Akira Tanaka)" <akr@...>
2013/10/23
[#57967] [ruby-trunk - Feature #9043][Open] Add String#f method as shortcut for #freeze — "headius (Charles Nutter)" <headius@...>
8 messages
2013/10/22
[#58007] [ruby-trunk - Feature #9049][Open] Shorthands (a:b, *) for inclusive indexing — "mohawkjohn (John Woods)" <john.o.woods@...>
25 messages
2013/10/24
[#58011] [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing
— "boris_stitnicky (Boris Stitnicky)" <boris@...>
2013/10/24
[#58012] Re: [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing
— David MacMahon <davidm@...>
2013/10/24
[#58013] Re: [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing
— Fuad Saud <fuadksd@...>
2013/10/24
How is a:b better than a..b? two dots are straightforward, unambiguous, well known.
[#58080] [ruby-trunk - Feature #9064][Open] Add support for packages, like in Java — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
23 messages
2013/10/30
[#58083] [ruby-trunk - Feature #9064] Add support for packages, like in Java
— "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
2013/10/30
[#58114] [ruby-trunk - Feature #9068][Open] [PATCH (trivial)] thread.c: reduce rb_mutex_t size by 8 bytes on x86_64 — "normalperson (Eric Wong)" <normalperson@...>
5 messages
2013/10/31
[#58115] Re: [ruby-trunk - Feature #9068][Open] [PATCH (trivial)] thread.c: reduce rb_mutex_t size by 8 bytes on x86_64
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/10/31
(10/31/13 3:42 PM), normalperson (Eric Wong) wrote:
[#58116] Re: [ruby-trunk - Feature #9068][Open] [PATCH (trivial)] thread.c: reduce rb_mutex_t size by 8 bytes on x86_64
— Eric Wong <normalperson@...>
2013/10/31
KOSAKI Motohiro <kosaki.motohiro@gmail.com> wrote:
[ruby-core:57576] [ruby-trunk - Feature #6647] Exceptions raised in threads should be logged
From:
"akr (Akira Tanaka)" <akr@...>
Date:
2013-10-02 02:05:13 UTC
List:
ruby-core #57576
Issue #6647 has been updated by akr (Akira Tanaka).
In the yesterday's meeting,
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20131001Japan
we discussed this issue.
We found that message at thread exiting with exception have a problem.
The thread can be joined after exit and the exception may be handled by joined thread.
% ruby -e '
t = Thread.new {
raise "foo"
}
sleep 1 # the thread exits with an exception.
begin
t.join
rescue
p $! # something to do with the exception
end
'
#<RuntimeError: foo>
If thread exiting with exception outputs a message,
there is no way to disable to it.
So, the message should be delayed until Ruby is certain that
the thread is not joined.
This means the message should be output at the thread is collected by GC.
----------------------------------------
Feature #6647: Exceptions raised in threads should be logged
https://bugs.ruby-lang.org/issues/6647#change-42191
Author: headius (Charles Nutter)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: current: 2.1.0
Many applications and users I have dealt with have run into bugs due to Ruby's behavior of quietly swallowing exceptions raised in threads. I believe this is a bug, and threads should always at least log exceptions that bubble all the way out and terminate them.
The implementation should be simple, but I'm not yet familiar enough with the MRI codebase to provide a patch. The exception logging should be logged in the same way top-level exceptions get logged, but perhaps with information about the thread that was terminated because of the exception.
Here is a monkey patch that simulates what I'm hoping to achieve with this bug:
class << Thread
alias old_new new
def new(*args, &block)
old_new(*args) do |*bargs|
begin
block.call(*bargs)
rescue Exception => e
raise if Thread.abort_on_exception || Thread.current.abort_on_exception
puts "Thread for block #{block.inspect} terminated with exception: #{e.message}"
puts e.backtrace.map {|line| " #{line}"}
end
end
end
end
Thread.new { 1 / 0 }.join
puts "After thread"
__END__
Output:
system ~/projects/jruby $ ruby thread_error.rb
Thread for block #<Proc:0x000000010d008a80@thread_error.rb:17> terminated with exception: divided by 0
thread_error.rb:17:in `/'
thread_error.rb:17
thread_error.rb:7:in `call'
thread_error.rb:7:in `new'
thread_error.rb:5:in `initialize'
thread_error.rb:5:in `old_new'
thread_error.rb:5:in `new'
thread_error.rb:17
After thread
--
http://bugs.ruby-lang.org/