Project

General

Profile

Actions

Bug #9674

closed

Segfault when marshaling Queue

Added by splattael (Peter Leitzen) over 10 years ago. Updated over 10 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
[ruby-core:61677]

Description

Marshaling Queue segfaults on ruby 2.1.1p76 (see attachment)

ruby -e 'Marshal.dump(Queue.new)'

(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:

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

Files

marshal_dump_queue-2.1.1.txt (11.2 KB) marshal_dump_queue-2.1.1.txt Core dump for 2.1.1p76 splattael (Peter Leitzen), 03/25/2014 03:30 PM
marshal_dump_queue-2.2.0.txt (11 KB) marshal_dump_queue-2.2.0.txt Core dump for 2.2.0dev splattael (Peter Leitzen), 03/25/2014 03:32 PM

Related issues 1 (0 open1 closed)

Has duplicate Ruby master - Bug #10190: Segmentation fault when Thread::Queue#push is called through dRubyClosed08/31/2014Actions

Updated by drbrain (Eric Hodel) over 10 years ago

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

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r45423.


thread.c: undumpable

  • ext/thread/thread.c (undumpable): ConditionVariable and Queue
    are not dumpable. [ruby-core:61677] [Bug #9674]

Updated by splattael (Peter Leitzen) over 10 years ago

Thank you for the fast fix! :)

Updated by usa (Usaku NAKAMURA) over 10 years ago

  • Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: DONTNEED, 2.1: REQUIRED

Updated by nagachika (Tomoyuki Chikanaga) over 10 years ago

  • Backport changed from 2.0.0: DONTNEED, 2.1: REQUIRED to 2.0.0: DONTNEED, 2.1: DONE

Backported into ruby_2_1 branch at r46805.

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Has duplicate Bug #10190: Segmentation fault when Thread::Queue#push is called through dRuby added
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0