Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

 
alt

Daniel Nashed

 

    Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    Daniel Nashed  26 November 2009 00:02:45

    There has been some confusion about this issue which has been posted in Ulrich's blog (http://www.eknori.de/2009-11-13/disable_log_dbgroup/)

    Multiple ISVs including myself contacted Ulrich offline about the info he got from another ISV and it turned out that this issue only affects some very specific Extension-Managers.

    After checking with support we finally got clarification published in the following TN (http://www.ibm.com/support/docview.wss?&uid=swg21410986).
    The problem occurred due to optimization some very specific optimization in low level Domino code.

    I have been in touch with a coulple of ISVs who ran into this issue to check what actually caused this issue.
    The problem seem mainly to occur when Extension-Managers use NSF or other C-API calls in the init phase of the DLL (MainEntryPoint).
    The C-API documentation states that no C-API calls are allowed in this routine but many applications use calls in this area.

    What is interesting is that other business partners suffer from the issue when another partner's Extension Manager is installed.

    The suggested Notes.ini entry mentioned in the TN (DISABLE_LOG_DBGROUP=1) is a work-around which causes the old not optimized behavior until the application is changed.
    IBM is working on another fix for 8.5.2 which hopefully solves this issue.

    But this clearly is one of the good examples why we should do only what the C-API states as supported (features vs. behaviors).

    On the other side this shows that IBM still tries to help customers and ISVs to get their applications working.

    Let me know what you think about this ...

    -- Daniel
    Comments

    1Susan Bulloch  26.11.2009 4:01:30  Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    Daniel, thanks for explaining the root cause of the problem. The developers have the code 'fixed' for 8.5.2 and probably for the first fixpack (haven't verified, but am pretty sure). The ini setting can then be removed, the efficiencies will be there and the misbehaving extensions can still misbehave without hurting the server.

    2Lars Berntrop-Bos  26.11.2009 13:12:50  Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    I would love to know which versions of which extensions are not strictly following the C-API, so we can ask the developers to better their ways.

    3Daniel Nashed  26.11.2009 14:19:19  Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    @ Lars, I cannot give you names or examples. But I am in contact with a couple of larger ISVs who take care about doing the right things and we are discussing offline.

    I cannot name any partner in public without their permission. And the partners I spoke with on development level are concerned doing the right thing.

    I am posting this info for other partners to get concerned and maybe start discussing about it offline or in public if they like to.

    -- Daniel

    4pablo  27.11.2009 18:43:49  Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    What's not clear from your post is that you say:

    "The problem seem mainly to occur when Extension-Managers use NSF or other C-API calls in the init phase of the DLL (MainEntryPoint)"

    But an extension manager is a dll and it does not implement any MainEntryPoint function. I guess that instead of MainEntryPoint you tried to say DllMain. Is my assumption correct? Because else maybe you tried to say that server tasks cannot make API calls in MainEntryPoint but I don't think so!

    Thanks

    5Arthur  27.11.2009 18:49:34  Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    @Lars: It's an opportunity for you to test those ISV having this problem to see the time it takes to fix this issue. Better if they already fixed it or if they don't have it, but if they have it now then it's an opportunity for you to test the support.

    6Daniel Nashed  28.11.2009 16:36:31  Deadlock on Serverstartup with certain Extension Managers in Domino 8.5.1

    @Pablo

    DLL_EXPORT STATUS LNPUBLIC MainEntryPoint( void ) or however you name it is the routine that is invoced when the DLL is loaded.

    This is also the place where you register which EM events are invoked.

    -- Daniel

    Links

      Archives


      • [HCL Domino]
      • [Domino on Linux]
      • [Nash!Com]
      • [Daniel Nashed]