Bug #11109
closedCrash of irb.
Description
ENV:
Mac OS X 10.10.3
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
HOW TO COMPILE:
- cd to the dir of ruby 2.2.2.
- ./configure
- make
- make install as root.
STEPS:
-
Start the irb on console.
-
Type the following code lines in irb:
require 'stringio' require 'bson' sio = StringIO.new 1.to_bson BSON::Int64. from_bson sio
-
The crash happens.
Please see also the attached file for all details.
Files
Updated by yangzhijava (Jeffrey Yang) over 9 years ago
I double-checked the backtrace in the attached log, in which it shows the rb_integer_from_bson_int64
causes the crash, however I was not sure. Could you guys still check the attached log file for confirmation?
Of course, I will contact the author of BSON and show him the log.
Apologizes if it's a wrong bug.
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
- Description updated (diff)
- Status changed from Open to Third Party's Issue
- Priority changed from 5 to Normal
BSON::Int64.from_bson
seems to accept String
only, but not to check the argument.
Updated by yangzhijava (Jeffrey Yang) over 9 years ago
BSON::Int64.from_bson
accepts the object who can response IO#read, so I have to wrap a string with StringIO.
After re-checking, I found how to reproduce the bug. Please see also my attached file.
In the file, I called BSON::Int64.from_bson
firstly, then BSON::Int32.from_bson
, the same crash always happened in the second call of BSON::IntXX.from_bson
. That means if Int32.from_bson
is the second call, the crash happens, if Int64.from_bson
is the second one, the crash happens, too.
Please see also bug.rb
.
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
IO#read
and StringIO#read
return nil
at EOF.
Updated by yangzhijava (Jeffrey Yang) over 9 years ago
Thanks for your fix and advise.
I added a sio.rewind
between from_bson
. The script works well. I should've realized the EOF issue.
Please see also the attached file.
By the way, how long does a bugfix be merged into BSON's master branch?
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
I don't know.
Updated by yangzhijava (Jeffrey Yang) over 9 years ago
Thanks for your help. One more question, when can I close the bug?
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
Already.
"Third Party's Issue" is a kind of "Closed."