[#71439] [Ruby trunk - Feature #11339] [PATCH] io.c: avoid kwarg parsing in C API — matz@...
Issue #11339 has been updated by Yukihiro Matsumoto.
7 messages
2015/11/11
[#71473] Re: [Ruby trunk - Feature #11339] [PATCH] io.c: avoid kwarg parsing in C API
— Eric Wong <normalperson@...>
2015/11/13
Entire series for sockets
[#71450] Ruby 2.3.0-preview1 Released — "NARUSE, Yui" <naruse@...>
Hi,
5 messages
2015/11/11
[#71617] [Ruby trunk - Feature #11664] [PATCH] introduce rb_autoload_value to replace rb_autoload — nobu@...
Issue #11664 has been updated by Nobuyoshi Nakada.
3 messages
2015/11/20
[#71721] [Ruby trunk - Feature #11741] Migrate Ruby to Git from Subversion — me@...
Issue #11741 has been updated by Jon Moss.
4 messages
2015/11/28
[ruby-core:71477] [Ruby trunk - Bug #11675] [Feedback] String hash key may cause Segfault
From:
nobu@...
Date:
2015-11-13 05:39:44 UTC
List:
ruby-core #71477
Issue #11675 has been updated by Nobuyoshi Nakada.
Status changed from Open to Feedback
2.2.0 is outdated.
Could you try with 2.2.3, or stable snapshot?
----------------------------------------
Bug #11675: String hash key may cause Segfault
https://bugs.ruby-lang.org/issues/11675#change-54842
* Author: Feifan Zhou
* Status: Feedback
* Priority: Normal
* Assignee:
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Using the [Google API Ruby Client](https://github.com/google/google-api-ruby-client), at least one method call will segfault when called with a hash with String keys (it throws an app-relevant exception when those same keys are symbols). Stack trace is attached.
~~~
def create_calendar(calendar_name)
entry = { 'description' => calendar_name }
created_calendar = calendar.insert_calendar(entry) # Segfault here
# ….
end
private
def calendar
@calendar ||= ::Google::Apis::CalendarV3::CalendarService.new.tap { |cal| cal.authorization = authorization }
end
def authorization
auth = ::Google::APIClient::Storage.new(credentials).authorize
if auth.nil? || (auth.expired? && auth.refresh_token.nil?)
p "======= Auth nil, can't refresh"
# TODO: Handle case
# https://developers.google.com/google-apps/calendar/quickstart/ruby
end
auth
end
~~~
---Files--------------------------------
segfault.txt (197 KB)
--
https://bugs.ruby-lang.org/