"Basic" problem with Threads (?)

Discussion in 'Ruby' started by Eric K, Nov 21, 2005.

  1. Eric K

    Eric K Guest

    I just upraded to Ruby 1.8.3 (from sources) on my Redhat Linux box.
    When I attempt to do anything that starts a new thread, I receive the
    message "ThreadError: uninitialized thread - check
    `Thread#initialize'". Below is a transcript from a one-line session in
    IRB that demonstrates the problem. Any ideas? (Please let me know if
    there is other information that would be helpful in diagnosing this.)

    irb(main):001:0> Thread.new { puts 'hi' }
    ThreadError: uninitialized thread - check `Thread#initialize'
    from (irb):1:in `new'
    from (irb):1
    irb(main):002:0>

    Thank you!
    Eric K, Nov 21, 2005
    #1
    1. Advertising

  2. Eric K

    Ara.T.Howard Guest

    On Tue, 22 Nov 2005, Eric K wrote:

    > I just upraded to Ruby 1.8.3 (from sources) on my Redhat Linux box.
    > When I attempt to do anything that starts a new thread, I receive the
    > message "ThreadError: uninitialized thread - check
    > `Thread#initialize'". Below is a transcript from a one-line session in
    > IRB that demonstrates the problem. Any ideas? (Please let me know if
    > there is other information that would be helpful in diagnosing this.)
    >
    > irb(main):001:0> Thread.new { puts 'hi' }
    > ThreadError: uninitialized thread - check `Thread#initialize'
    > from (irb):1:in `new'
    > from (irb):1
    > irb(main):002:0>


    can you show us how you compiled ruby?

    -a
    --
    ===============================================================================
    | ara [dot] t [dot] howard [at] gmail [dot] com
    | all happiness comes from the desire for others to be happy. all misery
    | comes from the desire for oneself to be happy.
    | -- bodhicaryavatara
    ===============================================================================
    Ara.T.Howard, Nov 21, 2005
    #2
    1. Advertising

  3. Eric K wrote:
    > I just upraded to Ruby 1.8.3 (from sources) on my Redhat Linux box.
    > When I attempt to do anything that starts a new thread, I receive the
    > message "ThreadError: uninitialized thread - check
    > `Thread#initialize'". Below is a transcript from a one-line session
    > in IRB that demonstrates the problem. Any ideas? (Please let me
    > know if there is other information that would be helpful in
    > diagnosing this.)
    >
    > irb(main):001:0> Thread.new { puts 'hi' }
    > ThreadError: uninitialized thread - check `Thread#initialize'
    > from (irb):1:in `new'
    > from (irb):1
    > irb(main):002:0>


    Works for me:

    irb(main):001:0> Thread.new { puts 'hi' }
    hi=> #<Thread:0x101d74b0 run>

    Ruby 1.8.3 on cygwin.

    Kind regards

    robert
    Robert Klemme, Nov 22, 2005
    #3
  4. Eric K

    Caleb Tennis Guest

    On Monday 21 November 2005 03:32 pm, Eric K wrote:
    > I just upraded to Ruby 1.8.3 (from sources) on my Redhat Linux box.
    > When I attempt to do anything that starts a new thread, I receive the
    > message "ThreadError: uninitialized thread - check
    > `Thread#initialize'". Below is a transcript from a one-line session in
    > IRB that demonstrates the problem. Any ideas? (Please let me know if
    > there is other information that would be helpful in diagnosing this.)


    The ruby executable links against libruby18.so. If you downloaded and
    installed ruby into /usr/local or something like that, perhaps at runtime
    your new ruby binary is still linking against the older ruby library. A
    quick use of 'ldd' will help determine that.

    Caleb
    Caleb Tennis, Nov 22, 2005
    #4
  5. Eric K

    Eric K Guest

    Thanks for the replies.

    Ara >> can you show us how you compiled ruby?

    I installed Ruby 1.8.3 from source using (I believe) the standard
    "compile/make/make install" cycle. (It's been a week or so, so the
    memory's a bit weak). Might there have been special switches I'd have
    needed for Redhat Enterprise Server 3?

    Caleb >> perhaps at runtime your new ruby binary is still linking
    against
    Caleb >> the older ruby library. A quick use of 'ldd' will help
    determine that.

    Here's the output from 'ldd' of /usr/local/bin/ruby:

    libdl.so.2 => /lib/libdl.so.2 (0x200000000005c000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x2000000000078000)
    libm.so.6.1 => /lib/tls/libm.so.6.1 (0x20000000000c0000)
    libc.so.6.1 => /lib/tls/libc.so.6.1 (0x2000000000154000)
    /lib/ld-linux-ia64.so.2 => /lib/ld-linux-ia64.so.2
    (0x2000000000000000)

    Unfortunately I'm not sure what to make of it. Is there a way to tell
    if the '/lib/ld-linux-ia64.so.2' referenced is for 1.8.2, 1.8.3, or
    1.6?

    Thanks again!
    Eric K, Nov 22, 2005
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. yoda
    Replies:
    2
    Views:
    426
    =?utf-8?Q?Bj=C3=B6rn_Lindstr=C3=B6m?=
    Aug 1, 2005
  2. threads without threads

    , Aug 27, 2004, in forum: C Programming
    Replies:
    4
    Views:
    391
    William Ahern
    Aug 27, 2004
  3. asfwa
    Replies:
    7
    Views:
    333
    werasm
    Nov 1, 2005
  4. Pedro Pinto

    Java Threads - Get running threads

    Pedro Pinto, Apr 8, 2008, in forum: Java
    Replies:
    2
    Views:
    1,422
    Arne Vajhøj
    Apr 9, 2008
  5. Une bévue
    Replies:
    0
    Views:
    140
    Une bévue
    Jun 14, 2006
Loading...

Share This Page