From: <tr...@eg...> - 2011-07-29 10:09:45
|
Ticket modified by Klaus Leithoff at 2011/07/29 12:09 Tracking SystemBugs CategoryFelamiMail VersionTrunk StatusOpen ResolutionFixed Completed100% Priority5 - medium Created byThomas Bender Created on2011/07/25 11:44 Assigned toKlaus Leithoff Summary#3013 - Felamimail not working in Rev 35800 => ActiveSync broken When I try to open Felamimail, output stops after some seconds with a nearly blank screen. The apache error log shows up: [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP Fatal error: Call to a member function getNameSpaces() on a non-object in /srv/www/*/svn-dev/egroupware/felamimail/inc/class.felamimail_bo.inc.php on line 1639 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP Stack trace: [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 1. {main}() /srv/www/*/svn-dev/egroupware/index.php:0 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 2. uifelamimail->viewMainScreen() /srv/www/*/svn-dev/egroupware/index.php:135 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 3. uifelamimail->display_app_header() /srv/www/*/svn-dev/egroupware/felamimail/inc/class.uifelamimail.inc.php:681 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 4. idots_framework->navbar() /srv/www/*/svn-dev/egroupware/felamimail/inc/class.uifelamimail.inc.php:551 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 5. hooks->single() /srv/www/*/svn-dev/egroupware/phpgwapi/templates/idots/class.idots_framework.inc.php:212 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 6. ExecMethod() /srv/www/*/svn-dev/egroupware/phpgwapi/inc/class.hooks.inc.php:153 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 7. call_user_func() /srv/www/*/svn-dev/egroupware/phpgwapi/inc/common_functions.inc.php:907 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 8. felamimail_hooks::sidebox_menu() /srv/www/*/svn-dev/egroupware/phpgwapi/inc/common_functions.inc.php:0 [Mon Jul 25 11:26:36 2011] [error] [client 192.168.0.20] PHP 9. felamimail_bo->getFolderObjects() /srv/www/*/svn-dev/egroupware/felamimail/inc/class.felamimail_hooks.inc.php:654 In addition it's maybe interesting to know, that ImapProxy crashes on each access via eGW, when I configured eGW to use it. Because of this problem, no further ActiveSync synchronisation is possible, because ActiveSync seems to need access to Felamimail/IMAP even if client is *not* configured to synchronize emails! My configuration: - Apache v2.2.16 (Ubuntu 10.04.3) - DBmail v2.2.11 - LDAP-Backend Comment by Klaus Leithoff at 2011/07/29 12:09: Es gibt ab heute einen profilID Validator. Der Müsste solche Probleme jetzt eigentlich lösen können. (Zumindest hat es in meinen Testszenarien geklappt.) r35831: * eMail: (backend) introduce validator for a given eMailProfile ID. A profileID is checked for existence for the active user. If the profileID given does not exist, the next possible valid profileID is returned. This should fix problems regarding the storing of no longer existing profileIDs with the activeProfileID preference. Comment by Klaus Leithoff at 2011/07/25 15:40: Leider nicht die einzige Stelle, deswegen will ich eigentlich einen Profil ID Validator einführen, der bei der Instanziierung von felamimail_bo prüft, ob die ProfilID zu einem gültigen Profil gehört, und ggf. (wenn nicht) die notwendige Korrektur vornimmt. Alternativ könnte ich auch einen StartProfil Selektor in die Preferences einbauen, der dem Benutzer auf der Oberfläche zumindest die Möglichkeit lässt die Situation selbst zu bereinigen, oder beides. Ist auf meiner Agenda. Comment by Thomas Bender at 2011/07/25 15:33: Wenn es nichts ausmacht, auf Deutsch weiter, Herr Leithoff. Sie hatten in der Tat recht. Ich habe etwas in der Datenbank herumgestöbert und einen ziemlich fiesen Bug gefunden. Ich hatte im emailadmin zuvor Identitäten und eigene Benutzerkonten für jeden Benutzer aktiviert und für meinen Benutzer entsprechende Konten/Identitäten angelegt. Vor kurzem deaktivierte ich die Features jedoch wieder und löschte zuvor alle Konten/Identitäten. Trotzdem befand sich in "egw_preferences" unter meinem Benutzer immer noch die Einstellung: (1000, 'felamimail', 'a:1:{s:15:"ActiveProfileID";s:1:"1";}') Analog zu den anderen Accounts änderte ich die letzte Spalte zu 'a:1:{s:15:"ActiveProfileID";s:1:"0";}', loggte mich aus, erneut ein und es funktionierte. Der Fehler liegt also im emailadmin, dass bei Deaktivierung eigener Konten nicht "egw_preferences" (felamimail) aktualisiert wird! Comment by Klaus Leithoff at 2011/07/25 12:16: Hmmm, this sounds like an inaccessible MailProfile. felamimail_bo gets instantiated and tries to instantiate the icServer Object "belonging" to the profileID passed by Instantiation. If the profile matching the ID does not exist, the icServer Object may not be created. I assume that this happend to you. As of now, we lack a method to validate the existance of a given profile. Check the profile ID stored with felamimail preferences for your user (you must use your Database for that). Check with esync preferences for the activeSync preferences. Linked entries: https://community.egroupware.org/egroupware/index.php?menuaction=tracker.tracker_ui.edit&tr_id=3013&no_popup=1 |