Results 1 to 2 of 2

Thread: Assertion raised in Ice3.4.1 ConnectionI.cpp:2587

  1. #1
    lafayej is online now Registered User
    Name: Julien Lafaye
    Organization: Capital Fund Management
    Project: Control distributed data acquisition application
    Join Date
    Sep 2009
    Posts
    15

    Assertion raised in Ice3.4.1 ConnectionI.cpp:2587

    We have a regular assertion raised in ConnectionI.cpp. Below is the stack trace

    (gdb) bt
    #0 0x000000300a830265 in raise () from /lib64/libc.so.6
    #1 0x000000300a831d10 in abort () from /lib64/libc.so.6
    #2 0x000000300a8296e6 in __assert_fail () from /lib64/libc.so.6
    #3 0x00002b3056f75f5f in Ice::ConnectionI:arseMessage (this=0x2aaab9fea050, stream=@0x49bb8ca8,
    invokeNum=@0x49bb89b4, requestId=@0x49bb89b8, compress=@0x49bb89bf, servantManager=@0x49bb89a0,
    adapter=@0x49bb8990, outAsync=@0x49bb8980) at ConnectionI.cpp:2587
    #4 0x00002b3056f7fbe5 in Ice::ConnectionI::message (this=0x2aaab9fea050, current=@0x49bb8ca0)
    at ConnectionI.cpp:1353
    #5 0x00002b30570c1dc3 in IceInternal::ThreadPool::run (this=0x8ea12d0, thread=@0x49bb90a0) at ThreadPool.cpp:624
    #6 0x00002b30570c2991 in IceInternal::ThreadPool::EventHandlerThread::run (this=0x2aaab9c40dc0)
    at ThreadPool.cpp:1097
    #7 0x00002b30562662ca in startHook (arg=0x2aaab9c40dc0) at Thread.cpp:413
    #8 0x000000300b0064a7 in start_thread () from /lib64/libpthread.so.0
    #9 0x000000300a8d3c2d in clone () from /lib64/libc.so.6
    (gdb)
    When the assertion is raised
    Code:
    assert(_state > StateNotValidated && _state < StateClosed);
    , _state has the value StateClosed. This is probably due to an exception raised in the call to sendNextMessage a few lines above. We hadn't Ice.Trace.Network activated when the assertions were raised so no way to check this hypothesis without reproducing the pb.

    We worked around this problem by checking that the connection is not closed prior to calling sendNextMessage

    if(current.operation & SocketOperationWrite)
    {
    sendNextMessage(sentCBs);
    }

    if (_state == StateClosed)
    return;

    if(current.operation & SocketOperationRead)
    {
    parseMessage(current.stream, invokeNum, requestId, compress, servantManager, adapter, outAsync);
    }
    We did not test against Ice 3.4.2 so see if the problem remains in the latest revision.

  2. #2
    benoit's Avatar
    benoit is online now ZeroC Staff
    Name: Benoit Foucher
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Rennes, France
    Posts
    2,196
    Hi,

    Thanks for the bug report. Your fix should work. We will look into fixing this for the next release.

    Cheers,
    Benoit.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Assertion failed in IceDB/FreezeTypes.cpp
    By lafayej in forum Help Center
    Replies: 1
    Last Post: 10-31-2011, 09:26 AM
  2. ICE3.3.1:Cond.cpp:311: error: `CLOCK_MONOTONIC'
    By zeronumber in forum Help Center
    Replies: 5
    Last Post: 12-18-2009, 04:09 AM
  3. Replies: 2
    Last Post: 03-07-2008, 04:15 AM
  4. can't make Ice3.1
    By timberwolf in forum Help Center
    Replies: 1
    Last Post: 08-01-2006, 10:04 PM
  5. BasicStream.cpp:581 Assertion
    By xdm in forum Help Center
    Replies: 10
    Last Post: 05-24-2006, 01:21 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •