View Issue Details

IDProjectCategoryView StatusLast Update
0000946SOGoWeb Calendarpublic2010-11-11 22:02
Reporterjthibeault Assigned Toludovic  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionwon't fix 
Product Version1.3.3 
Summary0000946: Subscribing to web calendar CalDAV URL causes sogod 100% CPU lock up
Description

When attempting to subscribe to a web calendar via URL, if a user were to mistakenly attempt to subscribe to another user's CalDAV URL, the sogod daemon spikes to 100% CPU and locks. Logs don't seem to show anything special -- it attempts to send the notification to the user that they have created a calendar, then the logs simply stop after the SMTP session is closed. Server daemon has to be restarted before anyone can access SOGo afterward.

Any user can perform these actions to crash the daemon.

Additional Information

My .GNUstepDefaults, with passwords and superusers X'd:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//GNUstep//DTD plist 0.9//EN" "http://www.gnustep.org/plist-0_9.xml&quot;>
<plist version="0.9">
<dict>
<key>NSGlobalDomain</key>
<dict>
</dict>
<key>sogod</key>
<dict>
<key>OCSEMailAlarmsFolderURL</key>
<string>mysql://sogo:sogo@localhost:3306/sogo/sogo_alarms_folder</string>
<key>OCSFolderInfoURL</key>
<string>mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info</string>
<key>SOGoVacationEnabled</key>
<string>YES</string>
<key>SOGoForwardEnabled</key>
<string>YES</string>
<key>SOGoSieveScriptsEnabled</key>
<string>YES</string>
<key>SOGoMailMessageCheck</key>
<string>every_5_minutes</string>
<key>SOGoMailReplyPlacement</key>
<string>above</string>
<key>SOGoMailSignaturePlacement</key>
<string>below</string>
<key>SOGoMailComposeMessageType</key>
<string>html</string>
<key>SOGoACLsSendEMailNotifications</key>
<string>YES</string>
<key>SOGoAppointmentSendEMailNotifications</key>
<string>YES</string>
<key>SOGoDraftsFolderName</key>
<string>Drafts</string>
<key>SOGoFoldersSendEMailNotifications</key>
<string>NO</string>
<key>SOGoIMAPServer</key>
<string>localhost</string>
<key>SOGoLanguage</key>
<string>English</string>
<key>SOGoMailDomain</key>
<string>osstest.olsinc.biz</string>
<key>SOGoSuperUsernames</key>
<array>
<string>xxxxxxxx</string>
<string>xxxxxxx</string>
<string>xxxxxxxxxx</string>
<string>xxxxxxxx</string>
<string>xxxxxxxx</string>
</array>
<key>SOGoMailingMechanism</key>
<string>smtp</string>
<key>SOGoProfileURL</key>
<string>mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile</string>
<key>SOGoSMTPServer</key>
<string>localhost</string>
<key>SOGoSentFolderName</key>
<string>Sent</string>
<key>SOGoTimeZone</key>
<string>America/Halifax</string>
<key>SOGoTrashFolderName</key>
<string>Trash</string>
<key>SOGoUserSources</key>
<array>
<dict>
<key>CNFieldName</key>
<string>cn</string>
<key>IDFieldName</key>
<string>cn</string>
<key>UIDFieldName</key>
<string>sAMAccountName</string>
<key>baseDN</key>
<string>ou=OLSINC,dc=olsinc,dc=biz</string>
<key>bindDN</key>
<string>CN=OLS LDAP Integration,ou=Technology,ou=Corporate,ou=OLSINC,dc=OLSINC,dc=BIZ</string>
<key>bindFields</key>
<array>
<string>sAMAccountName</string>
</array>
<key>bindPassword</key>
<string>xxxxxxx</string>
<key>canAuthenticate</key>
<string>YES</string>
<key>displayName</key>
<string>auth_ldap</string>
<key>hostname</key>
<string>olsinckeser01.olsinc.biz</string>
<key>id</key>
<string>auth_ldap</string>
<key>isAddressBook</key>
<string>NO</string>
<key>port</key>
<string>389</string>
<key>type</key>
<string>ldap</string>
</dict>
<dict>
<key>CNFieldName</key>
<string>cn</string>
<key>IDFieldName</key>
<string>cn</string>
<key>UIDFieldName</key>
<string>sAMAccountName</string>
<key>baseDN</key>
<string>ou=OLSINC,dc=olsinc,dc=biz</string>
<key>bindDN</key>
<string>CN=OLS LDAP Integration,ou=Technology,ou=Corporate,ou=OLSINC,dc=OLSINC,dc=BIZ</string>
<key>bindFields</key>
<array>
<string>sAMAccountName</string>
</array>
<key>bindPassword</key>
<string>xxxxxxx</string>
<key>canAuthenticate</key>
<string>NO</string>
<key>displayName</key>
<string>ActiveDirectory</string>
<key>filter</key>
<string>(objectClass=user and mail='*' and objectCategory=person and not memberOf='SOGo-AddressHidden' and not userAccountControl:1.2.840.113556.1.4.803:=2)</string>
<key>hostname</key>
<string>olsinckeser01.olsinc.biz</string>
<key>id</key>
<string>ldap_addressbook</string>
<key>isAddressBook</key>
<string>YES</string>
<key>port</key>
<string>389</string>
<key>type</key>
<string>ldap</string>
</dict>
</array>
</dict>
</dict>
</plist>

TagsNo tags attached.

Activities

ludovic

ludovic

2010-11-11 22:02

administrator   ~0001773

This can happen only if you are using 1 sogod worker.

As one sogod process will try to talk back to itself, blocking for a very long time.

So it's a configuration issue and note that using only 1 worker in any real-world deployment is not something that should be even considered.

Issue History

Date Modified Username Field Change
2010-11-02 19:18 jthibeault New Issue
2010-11-11 22:02 ludovic Note Added: 0001773
2010-11-11 22:02 ludovic Status new => resolved
2010-11-11 22:02 ludovic Resolution open => won't fix
2010-11-11 22:02 ludovic Assigned To => ludovic