On Tue, 2013-02-05 at 14:20 +0100, Marco Coli wrote:
> Sorry for late answer. Unfortunately I have very little time in this month.
> I finally manage to solve the problem. I discovered that there was an 
> authentication problem for that user in the cyrus imapd service. The 
> openchange message "Uncaught exception NSInvalidArgumentException, 
> reason: Tried to add nil to array" was not helping in finding the real 
> problem, but the cyrus log was.
> My fault.

Hi Marco,

I understand it is currently difficult for final users like you to
figure out where one's problem lies within the OpenChange/SOGo stack and
looks reasonable to take the shortest path for blaming. In the end it
doesn't really matter OpenChange is not at fault here because the
visible result for you is Samba dying and your AD getting down. It makes
everyone nervous and we both agree that is not acceptable when running
in production.

This is not a dead end and that can be improved quickly. See below.

> Anyway, I found a litte dangerous that in situations like that one, 
> samba dies, leaving the whole AD infrastracture upside-down.

I agree with you.

Initially the abort() cases - that causes samba to die on purpose -
were restricted to a very limited set of cases and situations that
"should not or could not happen". This was used as a safety guard when
we reached leaves of the graph. We almost never reach these cases
anymore.

This model however got extended to less critical paths for development
convenience but introduced the side effects you unfortunately
experienced. We can fix this easily:

        1. chase the abort() used in non critical paths and
        remove/replace them with termination or error code + add more
        logging.
        
        2. Rework the logging so you can identify where the problem
        initially lies and helps reporting issues in a way that is
        relevant both for you and OpenChange/SOGo.

In this case, one's feature may not be working but that won't impact the
overall system and still provide a way to find the cause.

> Now I am testing, before to go to production, the environment, and I did 
> find that is quite easy to create a problem in openchange and cause 
> samba to die.
> For example, a few minute ago I create a new user, create an outlook 
> profile, all ok. then
> 1) I create a new folder "Test" in web
> 2) Sync outlook, Test appears as expeceted
> 3) Create a Subfolder of Test, named Test1 via web
> 4) Sync outlook, no test1 appears. The same closing and restarting

4) is a known issue for quite some time. OpenChange has the
infrastructure to fix this bug but SOGo wasn't using it yet. This is
something afaik they are working on this for next release.

This being said - and from my experience - I'm doubtful on the relevance
of tests mixing Outlook and web interface. I don't argue on the path to
abort() that needs to be less pedantic - we agreed on this - but
generally users either use Outlook or web interface, not both at the
same time.

Kind Regards,
Julien.


-- 
Julien Kerihuel
j.kerih...@openchange.org
OpenChange Project Founder

Twitter: http://www.twitter.com/jkerihuel
GPG Fingerprint: 0B55 783D A781 6329 108A  B609 7EF6 FE11 A35F 1F79


-- 
users@sogo.nu
https://inverse.ca/sogo/lists

Reply via email to