From: drbrain@...7.net
Date: 2014-03-25T22:29:28+00:00
Subject: [ruby-core:61681] [ruby-trunk - Bug #9674] Segfault when marshaling	Queue

Issue #9674 has been updated by Eric Hodel.


For clarity, a Queue is not dumpable. With DRb a reference to the Queue (DRbObject) is sent instead.

----------------------------------------
Bug #9674: Segfault when marshaling Queue
https://bugs.ruby-lang.org/issues/9674#change-45933

* Author: Peter Suschlik
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Marshaling `Queue` segfaults on ruby 2.1.1p76 (see attachment)

<pre>
ruby -e 'Marshal.dump(Queue.new)'
</pre>

(It also segfaults for `ruby 2.2.0dev (2014-03-25 trunk 45407) [x86_64-linux]`)

This core dump occurs when using `RindgyDingy` with `DRb` which marshals `Queue`.


On Ruby `ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]` it failed with:

<pre>
$ ruby -e 'Marshal.dump(Queue.new)' 
-e:1:in `dump': no _dump_data is defined for class Mutex (TypeError)
        from -e:1:in `<main>'
</pre>

---Files--------------------------------
marshal_dump_queue-2.1.1.txt (11.2 KB)
marshal_dump_queue-2.2.0.txt (11 KB)


-- 
https://bugs.ruby-lang.org/