weird deadlock message

Discussion in 'Ruby' started by Roger Pack, Jul 18, 2008.

  1. Roger Pack

    Roger Pack Guest

    So...I run an app with three threads running, it churns for awhile,
    then..

    /lib/logger.rb:88:in `flush': Thread(0x346fc): deadlock (fatal)
    from ./lib/logger.rb:88:in `log'
    from driver.rb:547:in `go'
    from driver.rb:784:in `doAllPeersWithDelta'
    from driver.rb:783:in `times'
    from driver.rb:783:in `doAllPeersWithDelta'
    from driver.rb:1004:in `startAllPeersAndWaitForCompletion'
    from driver.rb:708:in `doSingleRunWithCurrentSettings'
    from driver.rb:474:in `doMultiple'
    from driver.rb:463:in `upto'


    This is flush called on a file socket. deadlock flushing a file? Bug?
    Thoughts?
    =R
    --
    Posted via http://www.ruby-forum.com/.
    Roger Pack, Jul 18, 2008
    #1
    1. Advertising

  2. Roger Pack

    ara.t.howard Guest

    On Jul 17, 2008, at 6:40 PM, Roger Pack wrote:

    >
    > ./lib/logger.rb:88:in `flush': Thread(0x346fc): deadlock (fatal)
    > from ./lib/logger.rb:88:in `log'
    > from driver.rb:547:in `go'
    > from driver.rb:784:in `doAllPeersWithDelta'
    > from driver.rb:783:in `times'
    > from driver.rb:783:in `doAllPeersWithDelta'
    > from driver.rb:1004:in `startAllPeersAndWaitForCompletion'
    > from driver.rb:708:in `doSingleRunWithCurrentSettings'
    > from driver.rb:474:in `doMultiple'
    > from driver.rb:463:in `upto'
    >
    >
    > This is flush called on a file socket. deadlock flushing a file? Bug?
    > Thoughts?



    it's not a file flushing, it's logger class, check out the stacktrace
    - probably you have a thread bug there - looks like soap btw,
    sorry! ;-)



    a @ http://codeforpeople.com/
    --
    we can deny everything, except that we have the possibility of being
    better. simply reflect on that.
    h.h. the 14th dalai lama
    ara.t.howard, Jul 18, 2008
    #2
    1. Advertising

  3. Roger Pack

    Roger Pack Guest


    > it's not a file flushing, it's logger class, check out the stacktrace
    > - probably you have a thread bug there - looks like soap btw,
    > sorry! ;-)


    Thankfully it's not soap :) soap is dirty! lol.
    Yeah it's my own logger class calling flush on a file descriptor. Any
    thoughts? Ruby Bug?
    -R
    --
    Posted via http://www.ruby-forum.com/.
    Roger Pack, Jul 18, 2008
    #3
  4. Roger Pack

    ara.t.howard Guest

    On Jul 17, 2008, at 9:28 PM, Roger Pack wrote:

    > Thankfully it's not soap :) soap is dirty! lol.


    i agree!


    >
    > Yeah it's my own logger class calling flush on a file descriptor. Any
    > thoughts? Ruby Bug?


    hrrrm - dunno. paste the code?

    a @ http://codeforpeople.com/
    --
    we can deny everything, except that we have the possibility of being
    better. simply reflect on that.
    h.h. the 14th dalai lama
    ara.t.howard, Jul 18, 2008
    #4
  5. Roger Pack

    Roger Pack Guest

    >
    > hrrrm - dunno. paste the code?
    >
    > a @ http://codeforpeople.com/



    def log(message)
    begin
    newMessage = formatMessage(message)
    print newMessage unless @@output_to_file_only_not_screen
    if !@logFile or @logFile.closed?
    print "ERROR LOGGING THIS!!!" << newMessage << "\n\n\n"
    return
    end
    assert @logFile and !@logFile.closed?
    @logFile.write(newMessage)
    @logFile.flush # THIS LINE FAILS DEADLOCK. As a side note, I've
    had it fail on win32 for me on this line with an EBADF, but the instance
    in question is a deadlock in mac os x, using 1.8.6 or 1.8.7 SVN.
    rescue Exception => detail # obviously this does not catch the
    exception 'deadlock' :p
    ...
    end
    end

    An over aggressive deadlock bug? A faulty fastthread?
    It might be another of those cruddy OS X bugs. Knowing my luck. [1]
    Note that in a similar but slightly different configuration it actually
    has one thread 'freeze' when it is opening a file [like File.new 'abc',
    'w'].
    The fix thus far has been to avoid using threads, as I have never seen
    it in a single threaded environment. Cross your fingers, anyway.

    Thanks for your help :)
    -R

    [1] http://www.ruby-forum.com/topic/153559
    --
    Posted via http://www.ruby-forum.com/.
    Roger Pack, Jul 18, 2008
    #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. dorayme
    Replies:
    1
    Views:
    610
    richard
    Jan 21, 2011
  2. richard
    Replies:
    0
    Views:
    576
    richard
    Jan 21, 2011
  3. richard
    Replies:
    0
    Views:
    611
    richard
    Jan 21, 2011
  4. Vincent van Beveren

    Deadlock and a rather weird stacktrace

    Vincent van Beveren, Feb 4, 2011, in forum: Python
    Replies:
    2
    Views:
    368
  5. Peter Lichten

    Weird deadlock problems with Slave/drb

    Peter Lichten, Jun 29, 2007, in forum: Ruby
    Replies:
    0
    Views:
    99
    Peter Lichten
    Jun 29, 2007
Loading...

Share This Page