View Issue Details

IDProjectCategoryView StatusLast Update
0003728SOGoBackend Calendarpublic2016-06-14 12:40
Reporterrsander Assigned Toludovic  
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platform[Server] LinuxOSDebianOS Version8 (Jessie)
Product Version3.1.2 
Fixed in Version3.1.3 
Summary0003728: Exception when trying to add resource to appointment
Description

We added resources to the LDAP server following the docs at
http://wiki.sogo.nu/ResourceConfiguration

When trying to add one of these resources to an appointment "Proxy
Error" is displayed on the client's screen.

In /var/log/sogo/sogo.log an EXCEPTION is reported:

| EXCEPTION: <NSException: 0x7f69a2a49070> NAME:NSInvalidArgumentException REASON:Can not determine type information for -[GSArrayEnumerator copyWithZone:] INFO:(null)
| Jun 14 13:05:10 sogod [7335]: <0x0x7f69a23e4710[WOWatchDogChild]> child 7902 exited
| Jun 14 13:05:10 sogod [7335]: <0x0x7f69a23e4710[WOWatchDogChild]> (terminated due to signal 6)
| Jun 14 13:05:10 sogod [7335]: <0x0x7f69a2128d10[WOWatchDog]> child spawned with pid 8042

Steps To Reproduce
  • create resource object in LDAP
  • login as resource to SOGo & logout
  • login as normal user
  • create new appointment
  • invite resource
  • save

=> Browser shows "Proxy Error".

TagsNo tags attached.

Activities

ludovic

ludovic

2016-06-14 11:31

administrator   ~0010359

Provide the complete LDIF entry for your resource, as well as your sogo.conf file.

We do have integration tests going over this part of the code before all releases and nightly builds.

rsander

rsander

2016-06-14 11:36

reporter  

sogo.conf (5,447 bytes)
rsander

rsander

2016-06-14 11:37

reporter  

konf2.ldif (836 bytes)   
# LDIF Export for uid=konf2,ou=accounts,dc=example,dc=com
# Server: LDAP Server (services) (127.0.0.1)
# Suchbereich: base
# Suchfilter: (objectClass=*)
# Anzahl der Eintraege: 1
#
# Generated by phpLDAPadmin (http://phpldapadmin.sourceforge.net) on June 14, 2016 11:33 am
# Version: 1.2.2

version: 1

# Eintrag 1: uid=konf2,ou=accounts,dc=example,dc=com
dn: uid=konf2,ou=accounts,dc=example,dc=com
cn: Konferenzraum 2. Etage
displayname: Konferenzraum 2. OG
gidnumber: 100
homedirectory: /home/konf2
kind: location
mail: konf2@example.com
multiplebookings: 0
objectclass: inetOrgPerson
objectclass: top
objectclass: CalendarResource
objectclass: calEntry
objectclass: organizationalPerson
objectclass: person
objectclass: posixAccount
sn: Konferenzraum
uid: konf2
uidnumber: 40002
userpassword: {SSHA}Gnho8dtRleNCOx2462SWPfL2at9Pi4wk
konf2.ldif (836 bytes)   
ludovic

ludovic

2016-06-14 11:45

administrator   ~0010360

Also produce a stack trace:

https://sogo.nu/nc/support/faq/article/how-do-i-debug-sogo.html

rsander

rsander

2016-06-14 11:57

reporter   ~0010363

Here is the Backtrace:

#0 -[NSException raise] (self=0x555555f80db0, _cmd=0x7ffff58fcfc0 <_OBJC_SELECTOR_TABLE+384>) at NSException.m:960
0000001 0x00007ffff54137a3 in +[NSException raise:format:] (self=0x7ffff58fd2c0 <_OBJC_Class_NSException>, _cmd=<optimized out>, name=0x7ffff58fd950 <_OBJC_INSTANCE_4>,
format=0x7ffff5992d90 <_OBJC_INSTANCE_6>) at NSException.m:840
0000002 0x00007ffff5528252 in GSFFIInvocationCallback (cif=0x555555f80db0, retp=0x7fffffffbb90, args=0x7fffffffb9f0, user=0x5555560b82d0) at GSFFIInvocation.m:618
0000003 0x00007ffff18b1baf in ffi_closure_unix64_inner () from /usr/lib/x86_64-linux-gnu/libffi.so.6
0000004 0x00007ffff18b1f28 in ffi_closure_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
0000005 0x00007ffff53558fd in GSIMapAddPair (value=..., key=..., map=0x555555f87bb8) at ../Headers/GNUstepBase/GSIMap.h:1092
0000006 -[GSDictionary initWithObjects:forKeys:count:] (self=0x555555f87bb0, _cmd=<optimized out>, objs=<optimized out>, keys=0x7fffffffbe20, c=4) at GSDictionary.m:220
0000007 0x00007ffff540c7db in +[NSDictionary dictionaryWithObjectsAndKeys:] (self=self@entry=0x7ffff58f6580 <_OBJC_Class_NSDictionary>, _cmd=_cmd@entry=0x7fffec5d6930 <_OBJC_SELECTOR_TABLE+1520>,
firstObject=0x555555fdd050) at NSDictionary.m:535
0000008 0x00007fffec39b90c in -[SOGoAppointmentObject _handleAttendeesConflicts:forEvent:force:] (self=0x555556021780, _cmd=<optimized out>, theAttendees=0x555555fc63d0, theEvent=<optimized out>,
forceSave=0 '\000') at SOGoAppointmentObject.m:554
0000009 0x00007fffec398a19 in -[SOGoAppointmentObject _handleAddedUsers:fromEvent:force:] (self=0x555556021780, _cmd=<optimized out>, attendees=0x555555fc63d0, newEvent=0x555555fa04c0,
forceSave=<optimized out>) at SOGoAppointmentObject.m:739
0000010 0x00007fffec3a01d1 in -[SOGoAppointmentObject saveComponent:force:] (self=0x555556021780, _cmd=<optimized out>, newEvent=0x555555fa04c0, forceSave=<optimized out>) at SOGoAppointmentObject.m:963
0000011 0x00007fffe946c32e in -[UIxAppointmentEditor saveAction] (self=0x5555560521d0, _cmd=<optimized out>) at UIxAppointmentEditor.m:505
0000012 0x00007fffea3cdd60 in -[UIxComponent performActionNamed:] (self=0x5555560521d0, _cmd=<optimized out>, _actionName=0x555555b21bb0) at UIxComponent.m:803
0000013 0x00007ffff6cfb564 in -[SoActionInvocation callOnObject:withPositionalParametersWhenNotNil:inContext:] () from /usr/lib/libNGObjWeb.so.4.9
0000014 0x00007ffff6cf6b60 in -[SoObjectMethodDispatcher dispatchInContext:] () from /usr/lib/libNGObjWeb.so.4.9
0000015 0x00007ffff6cf8c41 in -[SoObjectRequestHandler handleRequest:inContext:session:application:] () from /usr/lib/libNGObjWeb.so.4.9
0000016 0x00007ffff6c8e85e in -[WORequestHandler handleRequest:] (self=0x555555b86c00, _cmd=<optimized out>, _request=0x555556034760) at WORequestHandler.m:237
0000017 0x00007ffff6c5633c in -[WOCoreApplication dispatchRequest:usingHandler:] (self=0x55555599d1d0, _cmd=<optimized out>, _request=0x555556034760, handler=0x555555b86c00) at WOCoreApplication.m:712
0000018 0x000055555555c99e in -[SOGo dispatchRequest:] (self=0x55555599d1d0, _cmd=<optimized out>, _request=0x555556034760) at SOGo.m:565
0000019 0x00007ffff6ce99fd in -[WOHttpTransaction _run] (self=0x555555f09730, _cmd=<optimized out>) at WOHttpTransaction.m:596
0000020 0x00007ffff6ceaec8 in -[WOHttpTransaction run] (self=0x555555f09730, _cmd=<optimized out>) at WOHttpTransaction.m:649
0000021 0x00007ffff6ce5f5a in -[WOHttpAdaptor runConnection:] (self=0x555555a648c0, _cmd=<optimized out>, _socket=<optimized out>) at WOHttpAdaptor.m:367
0000022 0x00007ffff6ce6da6 in -[WOHttpAdaptor _handleAcceptedConnection:] (self=0x555555a648c0, _cmd=<optimized out>, _connection=0x555555f07170) at WOHttpAdaptor.m:401
0000023 0x00007ffff6ce713a in -[WOHttpAdaptor _handleConnection:] (self=0x555555a648c0, _cmd=<optimized out>, connection=0x555555f07170) at WOHttpAdaptor.m:460
0000024 0x00007ffff6ce71c4 in -[WOHttpAdaptor acceptConnection:] (self=0x555555a648c0, _cmd=<optimized out>, _notification=<optimized out>) at WOHttpAdaptor.m:521
0000025 0x00007ffff5456d07 in -[NSNotificationCenter _postAndRelease:] (self=0x555555898dd0, _cmd=<optimized out>, notification=0x555555f21c70) at NSNotificationCenter.m:1307
0000026 0x00007ffff5561b3b in -[GSRunLoopCtxt pollUntil:within:] (self=<optimized out>, _cmd=0x7ffff5946900 <_OBJC_SELECTOR_TABLE+1216>, milliseconds=<optimized out>, contexts=<optimized out>)
at GSRunLoopCtxt.m:642
0000027 0x00007ffff549f840 in -[NSRunLoop acceptInputForMode:beforeDate:] (self=0x555555ba8770, _cmd=0x7ffff58fcfc0 <_OBJC_SELECTOR_TABLE+384>, mode=0x7ffff5947770 <_OBJC_INSTANCE_2>,
limit_date=0x555555b86d00) at NSRunLoop.m:1217
0000028 0x00007ffff549fcf2 in -[NSRunLoop runMode:beforeDate:] (self=0x555555ba8770, _cmd=0x555555b42e40, mode=0x7ffff5947770 <_OBJC_INSTANCE_2>, date=0x555555ac73d0) at NSRunLoop.m:1288
0000029 0x00007ffff6c5771e in -[WOCoreApplication run] (self=0x55555599d1d0, _cmd=<optimized out>) at WOCoreApplication.m:584
0000030 0x000055555555c2bf in -[SOGo run] (self=0x55555599d1d0, _cmd=<optimized out>) at SOGo.m:326
0000031 0x00007ffff6c7bf54 in WOApplicationMain (_appClassName=_appClassName@entry=0x555555761600 <_OBJC_INSTANCE_0>, argc=argc@entry=13, argv=argv@entry=0x7fffffffec38) at WOApplicationMain.m:42
0000032 0x00007ffff6c97c8f in WOWatchDogApplicationMain (appName=0x555555761600 <_OBJC_INSTANCE_0>, argc=13, argv=0x7fffffffec38) at WOWatchDogApplicationMain.m:1043
0000033 0x000055555555a7ab in main (argc=13, argv=0x7fffffffec38, env=<optimized out>) at sogod.m:51

ludovic

ludovic

2016-06-14 12:30

administrator   ~0010364

We need the LDIF entry + sogo.conf.

rsander

rsander

2016-06-14 12:32

reporter   ~0010365

I have already added them as attachment

ludovic

ludovic

2016-06-14 12:40

administrator   ~0010366

The problem is that the user doesn't have the right to see the resource's freebusy info. You have to modify the ACL of the resource (its personal calendar).

The error should be properly returned by SOGo, but there was a dictionary init error in that part of the code. It is now fixed.

ludovic

ludovic

2016-06-14 12:40

administrator   ~0010367

https://github.com/inverse-inc/sogo/commit/ff65ba88adf6edca44c1df7c14738fde46fd3c08

Also fixed for 2.3.13.

Issue History

Date Modified Username Field Change
2016-06-14 11:29 rsander New Issue
2016-06-14 11:30 ludovic Severity major => minor
2016-06-14 11:31 ludovic Note Added: 0010359
2016-06-14 11:36 rsander File Added: sogo.conf
2016-06-14 11:37 rsander File Added: konf2.ldif
2016-06-14 11:45 ludovic Note Added: 0010360
2016-06-14 11:57 rsander Note Added: 0010363
2016-06-14 12:30 ludovic Note Added: 0010364
2016-06-14 12:32 rsander Note Added: 0010365
2016-06-14 12:40 ludovic Note Added: 0010366
2016-06-14 12:40 ludovic Note Added: 0010367
2016-06-14 12:40 ludovic Status new => closed
2016-06-14 12:40 ludovic Assigned To => ludovic
2016-06-14 12:40 ludovic Resolution open => fixed
2016-06-14 12:40 ludovic Fixed in Version => 3.1.3