General discussion on installation and configuration of SOGo

Text archives Help


[SOGo] OpenChange/Samba crashes during folder sync (logs included)


Chronological Thread 
  • From: Harold Fines < >
  • To: Users < >
  • Subject: [SOGo] OpenChange/Samba crashes during folder sync (logs included)
  • Date: Wed, 28 Oct 2015 22:07:13 +0000 (UTC)

I'm using Inverse's apt-repo/packages (not nightly) on Debian Jessie. I successfully synced all mail for *one user* (no other users ATM) going back to 1/7-2015 (July 1st) which took about five minutes over WAN (the users dovecot maildir is sized at 98MB). When I then tried uploading all messages going back to January 1st sync/Samba started lagging and then crashed (I also tried syncing just June but I hit the same issue):

log.samba:
 <MAPIStoreDBMessage:0x7f18a75803c0:18EF-56310A80-29-5A029A80.plist> 64 props in dict
<0x0x7f18a72b7130[MAPIStoreFallbackContext]> found path 'username@fallback/0xf803000000000001/18EF-56310A80-29-5A029A80.plist' for fmid 0x370a010000000001
<MAPIStoreDBMessage:0x7f18a7ffdd10:18EF-56310A80-2B-5A029A80.plist> 61 props in dict
<0x0x7f18a72b7130[MAPIStoreFallbackContext]> found path 'username@fallback/0xf803000000000001/18EF-56310A80-2B-5A029A80.plist' for fmid 0x380a010000000001
<MAPIStoreDBMessage:0x7f18a73ee700:18EF-56310A80-2D-5A029A80.plist> 60 props in dict
<0x0x7f18a72b7130[MAPIStoreFallbackContext]> found path 'username@fallback/0xf803000000000001/18EF-56310A80-2D-5A029A80.plist' for fmid 0x390a010000000001
<MAPIStoreDBMessage:0x7f18a73ee720:18EF-56310A80-2F-5A029A80.plist> 61 props in dict
<0x0x7f18a72b7130[MAPIStoreFallbackContext]> found path 'username@fallback/0xf803000000000001/18EF-56310A80-2F-5A029A80.plist' for fmid 0x3a0a010000000001
[2015/10/28 18:53:02.876389,  0] ../lib/util/fault.c:72(fault_report)
  ===============================================================
[2015/10/28 18:53:02.876646,  0] ../lib/util/fault.c:73(fault_report)
  INTERNAL ERROR: Signal 11 in pid 6489 (4.1.18-Debian)
  Please read the Trouble-Shooting section of the Samba HOWTO
[2015/10/28 18:53:02.879048,  0] ../lib/util/fault.c:75(fault_report)
  ===============================================================
[2015/10/28 18:53:02.880101,  0] ../lib/util/fault.c:144(smb_panic_default)
  PANIC: internal error

Restarting samba-ad-dc seems to initiate a renegotiation of synced content between OCS and the client but then Samba crashes again before any new messages are synced. I seem to have hit a "glass ceiling" at 684 messages.

smb.conf:
# Global parameters
[global]
    bind interfaces _only_ = yes
    dcerpc endpoint servers = epmapper, mapiproxy, dnsserver
    dcerpc_mapiproxy:interfaces = exchange_emsmdb, exchange_nsp, exchange_ds_rfr
    dcerpc_mapiproxy:server = true
    dns forwarder = 1.2.3.4
    dsdb:schema update allowed = true
    interfaces = eth0 lo
    invalid users = root
    load printers = no
    mapistore:indexing_backend = mysql://openchange:password@localhost/openchange
    mapistore:namedproperties = mysql
    mapiproxy:openchangedb = mysql://openchange:password@localhost/openchange
    namedproperties:mysql_db = openchange
    namedproperties:mysql_host = localhost
    namedproperties:mysql_pass = password
    namedproperties:mysql_user = openchange
    netbios name = NAME
    printcap name = /dev/null
    printing = bsd
    realm = realm.pri
    server role = active directory domain controller
    workgroup = realm

[netlogon]
    path = /var/lib/samba/sysvol/realm.pri/scripts
    read _only_ = No

[sysvol]
    path = /var/lib/samba/sysvol
    read _only_ = No

sogo.conf:
{
 /* Database configuration (mysql:// or postgresql://) */
    SOGoProfileURL = "mysql://openchange:password@localhost:3306/openchange/sogo_user_profile";
    OCSFolderInfoURL = "mysql://openchange:password@localhost:3306/openchange/sogo_folder_info";
    OCSSessionsFolderURL = "mysql://openchange:password@localhost:3306/openchange/sogo_sessions_folder";

/* Mail */
    SOGoDraftsFolderName = Drafts;
    SOGoSentFolderName = Sent;   
    SOGoTrashFolderName = Trash;
    SOGoSieveServer = sieve://127.0.0.1:4190;
    SOGoMailingMechanism = smtp;
//    SOGoForceExternalLoginWithEmail = YES;
    SOGoMailSpoolPath = /var/spool/sogo;
//    NGImap4ConnectionStringSeparator = "/";
    NGImap4ConnectionStringSeparator = ".";
    SOGoIMAPAclConformsToIMAPExt = NO;
    SOGoMailShowSubscribedFoldersOnly = NO;

/* Notifications */
    SOGoAppointmentSendEMailNotifications = YES;
    SOGoACLsSendEMailNotifications = NO;
    SOGoFoldersSendEMailNotifications = NO;

/* Authentication */
    SOGoPasswordChangeEnabled = YES;

/* Web Interface */
    SOGoPageTitle = SOGo;
    SOGoVacationEnabled = YES;
    SOGoForwardEnabled = YES;
    SOGoSieveScriptsEnabled = YES;
//    SOGoMailAuxiliaryUserAccountsEnabled = YES;
    SOGoTrustProxyAuthentication = NO;

    SOGoDayStartTime = 8;
    SOGoDayEndTime = 16;
    SOGoFirstDayOfWeek = 1;
    SOGoBusyOffHours = YES;
//    SOGoMailCustomFromEnabled = YES;
    SOGoMailReplyPlacement = above;

/* General */
    SOGoLanguage = English;
    SOGoTimeZone = Europe/Stockholm;
    SOGoCalendarDefaultRoles = (
    PublicDAndTViewer,
    ConfidentialDAndTViewer
    );
    SxVMemLimit = 384;
    WOPidFile = "/var/run/sogo/sogo.pid";
    //SOGoMemcachedHost = "/var/run/memcached.sock";
    SOGoMemcachedHost = 127.0.0.1;
//    SOGoEnableDomainBasedUID = YES;
    SOGoSupportedLanguages = (English);

    WOWorkersCount = 15;
//    SOGoMaximumPingInterval = 3540;
//    SOGoMaximumSyncInterval = 3540;
//    SOGoInternalSyncInterval = 30;

    SOGoMaximumFailedLoginCount = 3;
    SOGoMaximumFailedLoginInterval = 10;
    SOGoFailedLoginBlockInterval = 300;

/* Debug */
    SoDebugBaseURL = NO;
    ImapDebugEnabled = NO;
    WOLogFile = /var/log/sogo/sogo.log;
    GCSFolderDebugEnabled = NO;
    GCSFolderStoreDebugEnabled = NO;
    LDAPDebugEnabled = NO;
    MySQL4DebugEnabled = NO;
    NGImap4DisableIMAP4Pooling = NO;
    OCSFolderManagerSQLDebugEnabled = NO;
    PGDebugEnabled = NO;
    SOGoDebugRequests = NO;
    SOGoMailKeepDraftsAfterSend = NO;
    SOGoUIxDebugEnabled = NO;
    SoDebugObjectTraversal = NO;
    SoSecurityManagerDebugEnabled = NO;
    WODontZipResponse = NO;
    WODebugZipResponse = NO;

/* Domains */
    domains = {

    domain.tld = {
    SOGoMailDomain = domain.tld;
    SOGoIMAPServer = "imaps://localhost:143/?tls=YES";
    SOGoSMTPServer = localhost;
    SOGoSuperUsernames = ( );
    SOGoUserSources =  (
    {
    id = ad.domain.tld;
    displayName = "domain.tld";
    canAuthenticate = YES;
    isAddressBook = NO;
    type = ldap;
    CNFieldName = displayName;
    IDFieldName = cn;
    UIDFieldName = sAMAccountName;
    IMAPLoginFieldName = sAMAccountName;
    hostname = "ldap://127.0.0.1";
    baseDN = "CN=users,DC=realm,DC=pri";
    bindDN = "CN=ldap,CN=users,DC=realm,DC=pri";
    bindPassword = "ldappassword";
    bindFields = (sAMAccountName);
    filter = "(objectClass='*' AND mail='*@domain.tld' AND userAccountControl != 66050)";
    },
    {
    id = gal.domain.tld;
    displayName = "Global Address List";
    canAuthenticate = NO;
    isAddressBook = YES;
    type = ldap;
    hostname = "ldap://127.0.0.1";
    baseDN = "CN=users,DC=realm,DC=pri";
    bindDN = "CN=ldap,CN=users,DC=realm,DC=pri";
    bindPassword = "ldappassword";
    filter = "((NOT isCriticalSystemObject='TRUE') AND (mail=\'*@domain.tld\') AND (NOT objectClass=contact))";
    }
        );
    };

    };

}

ocsmanager.ini:
#
# ocsmanager - Pylons configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
[DEFAULT]
#debug = true
debug = false
email_to =
smtp_server = localhost
error_email_from =

[main]
# Possible authentication system
auth = ldap
mapistore_root = /var/lib/samba/private
mapistore_data = /var/lib/samba/private/mapistore
#debug = yes
debug = no

[auth:file]
#file =

[auth:ldap]
host = ldap://127.0.0.1
port = 389
bind_dn = cn=ldap,cn=users,dc=realm,dc=pri
bind_pw = ldappassword
basedn = CN=users,DC=realm,DC=pri

filter = (sAMAccountName=%s)
attrs = userPassword, x-isActive

[auth:single]
username = openchange
# password is test
password = {SSHA}I6Hy5Wv0wuxyXvMBFWFQDVVN12_CLaX9

[server:main]
use = egg:Paste#http
host = 127.0.0.1
port = 5000
protocol_version = HTTP/1.1

[app:main]
use = egg:ocsmanager
full_stack = true
static_files = true
cache_dir = %(here)s/data
beaker.session.key = ocsmanager
beaker.session.secret = SDyKK3dKyDgW0mlpqttTMGU1f
app_instance_uuid = {ee533ebc-f266-49d1-ae10-d017ee6aa98c}
NTLMAUTHHANDLER_WORKDIR = /var/cache/ntlmauthhandler
SAMBA_HOST = 127.0.0.1

[rpcproxy:ldap]
host = localhost
port = 389
basedn = CN=users,DC=realm,DC=pri
#set debug = true
set debug = false

# If you'd like to fine-tune the individual locations of the cache data dirs
# for the Cache data, or the Session saves, un-comment the desired settings
# here:
#beaker.cache.data_dir = %(here)s/data/cache
#beaker.session.data_dir = %(here)s/data/sessions

# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
set debug = false

[autodiscover]
# The client address that is not in these networks have RPC/Proxy
# prioritaised. It only works for Outlook 2010 or higher. Delimiter: ,
internal_networks = 1.2.3.4/30

[autodiscover:rpcproxy]
# Enabled RPC/Proxy or not
enabled = true
# We assume the autodiscover host and the EWS (Free/Busy) are in the same host
external_hostname = mail.domain.tld
# Require SSL to logon. Default value is false
ssl = true

[outofoffice]
# Set the backend.
# Possible backends: file, managesieve
# file makes sieve and OCSManager lives in the same host
# managesieve indicates the server to put/get the sieve script
# backend = file

[outofoffice:file]
# Path of the sieve script for the user
#   Expansion variables (example ):
#       $domain   = example.com
#       $user     = user.name
#       $fulluser =
#sieve_script_path = /var/vmail/$user/sieve-script
sieve_script_path = /var/vmail/$domain/$user/sieve-script
# If the sieve script directory hierarchy does not exist, it will be created
sieve_script_path_mkdir = false

[outofoffice:managesieve]
# It requires to have a master password to get into every account
# server = 127.0.0.1
# SSL on/off
# ssl = true
# Master password
secret = secret

# Logging configuration
[loggers]
keys = root

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s

I spoke to "sixstone" in #openchange@freenode and he/she suggested that I use debugoc.py to produce a crash trace. I will do that tomorrow when I have access to the test Outlook client. Anyone have any suggestions in the mean time?



Archive powered by MHonArc 2.6.18.

Top of page