View Issue Details

IDProjectCategoryView StatusLast Update
0000868SOGoBackend Address Bookpublic2010-09-30 11:26
Reporterbuzzdee Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Summary0000868: Searching LDAP Addressbook for % character crashes sogo
Description

In the sogo web interface, opening the address book, and chosing an LDAP Address book, and then searching for % character, the sogo instance crashes.
Searching for other characters seems to work.

Trying to do the same with a personal addressbook does not produce the crasher.

attached file contains backtrace of the crashed process.

The configuration of the LDAP Addressbook used looks like this:
sogod SOGoUserSources '(
{
CNFieldName = cn;
IDFieldName = uid;
IMAPHostFieldName = mailHost;
UIDFieldName = uid;
baseDN = "ou=people,dc=intern";
bindDN = "cn=Manager,dc=intern";
bindPassword = password;
canAuthenticate = YES;
displayName = "SOGo Accounts";
hostname = somehost;
id = public;
isAddressBook = YES;
port = 389;
}
)'

Additional Information

I'm on OpenBSD 4.8 -current, i386 running the following versions:
sope/sogo 1.3.2
gnustep-make-2.4.0
gnustep-base-1.20.1
libffi-3.0.8
libmemcached-0.43
memcached-1.4.3

TagsNo tags attached.

Activities

2010-09-29 10:30

 

sogo_crasher_percent_sign.txt (13,074 bytes)   
Program received signal SIGSEGV, Segmentation fault.
[Switching to process 16038, thread 0x8a103800]     
0x0593330a in GSPrivateFormat (s=0xcfbecef0, format=0xcfbecf48, 
    ap=0xcfbedfdc "PGr&\220�\222%`�p&\020\025q&�9\216%@lr&�Y\227\005��\223\211\b�\223\211hlr&�Ţ\005�v\222\005��\222%Hlr&plr&xlr&X-s&�Ar&h@�\200x���a�t\006h@�\200�Ar&H�8\177�~�\201X-s&\f���x���$5O\003�Ar&\bAr&8@r&H�8\177�!", locale=0x0) at GSFormat.m:1913
1913                  function_done = printf_unknown(s, &specs[nspecs_done].info, ptr);                                                                                                                                                                       
Current language:  auto; currently minimal                                                                                                                                                                                                                    
(gdb) bt                                                                                                                                                                                                                                                      
#0  0x0593330a in GSPrivateFormat (s=0xcfbecef0, format=0xcfbecf48,                                                                                                                                                                                           
    ap=0xcfbedfdc "PGr&\220�\222%`�p&\020\025q&�9\216%@lr&�Y\227\005��\223\211\b�\223\211hlr&�Ţ\005�v\222\005��\222%Hlr&plr&xlr&X-s&�Ar&h@�\200x���a�t\006h@�\200�Ar&H�8\177�~�\201X-s&\f���x���$5O\003�Ar&\bAr&8@r&H�8\177�!", locale=0x0) at GSFormat.m:1913
#1  0x05951de1 in -[GSPlaceholderString initWithFormat:locale:arguments:] (self=0x8ace7528, _cmd=0x2592a530, format=0x7f38c348, locale=0x0,                                                                                                                   
    argList=0xcfbedfdc "PGr&\220�\222%`�p&\020\025q&�9\216%@lr&�Y\227\005��\223\211\b�\223\211hlr&�Ţ\005�v\222\005��\222%Hlr&plr&xlr&X-s&�Ar&h@�\200x���a�t\006h@�\200�Ar&H�8\177�~�\201X-s&\f���x���$5O\003�Ar&\bAr&8@r&H�8\177�!") at GSString.m:776        
#2  0x05a87c4e in -[NSString initWithFormat:arguments:] (self=0x8ace7528, _cmd=0x2592a4f8, format=0x7f38c348,                                                                                                                                                 
    argList=0xcfbedfdc "PGr&\220�\222%`�p&\020\025q&�9\216%@lr&�Y\227\005��\223\211\b�\223\211hlr&�Ţ\005�v\222\005��\222%Hlr&plr&xlr&X-s&�Ar&h@�\200x���a�t\006h@�\200�Ar&H�8\177�~�\201X-s&\f���x���$5O\003�Ar&\bAr&8@r&H�8\177�!") at NSString.m:1125       
#3  0x05a88db4 in +[NSString stringWithFormat:] (self=0x2592a3a0, _cmd=0x26726c80, format=0x7f38c348) at NSString.m:877                                                                                                                                       
#4  0x06755265 in -[NSArray(SOGoArrayUtilities) stringsWithFormat:] (self=0x80cc4068, _cmd=0x267241b0, format=0x7f38c348) at NSArray+Utilities.m:74                                                                                                           
#5  0x0674ea61 in -[LDAPSource _qualifierForFilter:] (self=0x83175588, _cmd=0x26724298, filter=0x81e07ec8) at LDAPSource.m:555                                                                                                                                
#6  0x0674d291 in -[LDAPSource fetchContactsMatching:] (self=0x83175588, _cmd=0x2f5c1468, match=0x81e07ec8) at LDAPSource.m:854                                                                                                                               
#7  0x0f5c6e73 in -[SOGoContactSourceFolder lookupContactsWithFilter:sortBy:ordering:] (self=0x7f38c788, _cmd=0x29925470, filter=0x81e07ec8, sortKey=0x878fe4e8, sortOrdering=NSOrderedAscending) at SOGoContactSourceFolder.m:256                            
#8  0x0992f602 in -[UIxContactsListView contactInfos] (self=0x86c16008, _cmd=0x7d35e658) at UIxContactsListView.m:114                                                                                                                                         
#9  0x0fe529cd in _getComponentValue (self=0x82d15b48, object=0x86c16008, info=0x82d15be0) at WOKeyPathAssociation.m:586                                                                                                                                      
#10 0x0fe593fd in -[WOKeyPathAssociation valueInComponent:] (self=0x82d15b48, _cmd=0x2fdd7430, _component=0x86c16008) at WOKeyPathAssociation.m:742                                                                                                           
#11 0x0fe4f951 in -[WOAssociation valueInContext:] (self=0x82d15b48, _cmd=0x2fdfc9a8, _ctx=0x7df33808) at WOAssociation.m:227                                                                                                                                 
#12 0x0fe90524 in -[_WOSimpleRepetition takeValuesFromRequest:inContext:] (self=0x81e6edc8, _cmd=0x2fdf5ed0, _request=0x7fbc2408, _ctx=0x7df33808) at WORepetition.m:672                                                                                      
#13 0x0fe77e5f in -[WOCompoundElement takeValuesFromRequest:inContext:] (self=0x81e6ef08, _cmd=0x2fdf7f78, _rq=0x7fbc2408, _ctx=0x7df33808) at WOCompoundElement.m:150                                                                                        
#14 0x0fe7f7b9 in -[WOGenericContainer takeValuesFromRequest:inContext:] (self=0x8bdb1048, _cmd=0x2fdf5ed0, _req=0x7fbc2408, _ctx=0x7df33808) at WOGenericContainer.m:71                                                                                      
#15 0x0fe77e5f in -[WOCompoundElement takeValuesFromRequest:inContext:] (self=0x81e6e248, _cmd=0x2fdf7f78, _rq=0x7fbc2408, _ctx=0x7df33808) at WOCompoundElement.m:150                                                                                        
#16 0x0fe7f7b9 in -[WOGenericContainer takeValuesFromRequest:inContext:] (self=0x7f38c0c8, _cmd=0x2fdf5ed0, _req=0x7fbc2408, _ctx=0x7df33808) at WOGenericContainer.m:71                                                                                      
#17 0x0fe77e5f in -[WOCompoundElement takeValuesFromRequest:inContext:] (self=0x7d880b48, _cmd=0x2fddf6e0, _rq=0x7fbc2408, _ctx=0x7df33808) at WOCompoundElement.m:150                                                                                        
#18 0x0fe65489 in -[WOTemplate takeValuesFromRequest:inContext:] (self=0x7f38c748, _cmd=0x2fda7b38, _req=0x7fbc2408, _ctx=0x7df33808) at WOTemplate.m:120                                                                                                     
#19 0x0fdfa065 in -[WOComponent takeValuesFromRequest:inContext:] (self=0x86c16008, _cmd=0x2fda3da0, _req=0x7fbc2408, _ctx=0x7df33808) at WOComponent.m:877                                                                                                   
#20 0x0fdf4128 in -[WOApplication takeValuesFromRequest:inContext:] (self=0x82a89208, _cmd=0x2fe16b38, _req=0x7fbc2408, _ctx=0x7df33808) at WOApplication.m:878                                                                                               
#21 0x0febaa80 in -[SoPageInvocation _prepareMethod:inContext:] (self=0x7f38c3c8, _cmd=0x2fe17190, _method=0x86c16008, _ctx=0x7df33808) at SoPageInvocation.m:109                                                                                             
#22 0x0febb9e0 in -[SoActionInvocation callOnObject:withPositionalParametersWhenNotNil:inContext:] (self=0x7f38c3c8, _cmd=0x2fe171b8, _client=0x7f38c788, _positionalArgs=0x0, _ctx=0x7df33808) at SoActionInvocation.m:289                                   
#23 0x0febb76e in -[SoActionInvocation callOnObject:inContext:] (self=0x7f38c3c8, _cmd=0x2fe17148, _client=0x7f38c788, _ctx=0x7df33808) at SoActionInvocation.m:316                                                                                           
#24 0x0febb7f3 in -[SoActionInvocation callOnObject:withPositionalParametersWhenNotNil:inContext:] (self=0x89be88c8, _cmd=0x2fe171b8, _client=0x7f38c788, _positionalArgs=0x0, _ctx=0x7df33808) at SoActionInvocation.m:259                                   
#25 0x0febb76e in -[SoActionInvocation callOnObject:inContext:] (self=0x89be88c8, _cmd=0x2fe151a8, _client=0x7f38c788, _ctx=0x7df33808) at SoActionInvocation.m:316                                                                                           
#26 0x0feb5379 in -[SoObjectMethodDispatcher dispatchInContext:] (self=0x861c8fc8, _cmd=0x2fe159b8, _ctx=0x7df33808) at SoObjectMethodDispatcher.m:191                                                                                                        
#27 0x0feb75fa in -[SoObjectRequestHandler handleRequest:inContext:session:application:] (self=0x8474d848, _cmd=0x2fdc7f38, _rq=0x7fbc2408, _ctx=0x7df33808, _sn=0x0, app=0x82a89208) at SoObjectRequestHandler.m:591                                         
#28 0x0fe386a7 in -[WORequestHandler handleRequest:] (self=0x8474d848, _cmd=0x2fda5948, _request=0x7fbc2408) at WORequestHandler.m:241                                                                                                                        
#29 0x0fdf538d in -[WOCoreApplication dispatchRequest:usingHandler:] (self=0x82a89208, _cmd=0x2fda5978, _request=0x7fbc2408, handler=0x8474d848) at WOCoreApplication.m:704   
#30 0x0fdf526e in -[WOCoreApplication dispatchRequest:] (self=0x82a89208, _cmd=0x3c0029b8, _request=0x7fbc2408) at WOCoreApplication.m:744                                                                                                                    
#31 0x1c0036a3 in -[SOGo dispatchRequest:] (self=0x82a89208, _cmd=0x2fe053b0, _request=0x7fbc2408) at SOGo.m:435                                                                                                                                              
#32 0x0fea455b in -[WOHttpTransaction _run] (self=0x7fbc2288, _cmd=0x2fe053c8) at WOHttpTransaction.m:546                                                                                                                                                     
#33 0x0fea760a in -[WOHttpTransaction run] (self=0x7fbc2288, _cmd=0x2fe046a8) at WOHttpTransaction.m:599                                                                                                                                                      
#34 0x0fea0d55 in -[WOHttpAdaptor runConnection:] (self=0x7d4c9388, _cmd=0x2fe046f8, _socket=0x7dee0348) at WOHttpAdaptor.m:398                                                                                                                               
#35 0x0fea2a56 in -[WOHttpAdaptor _handleAcceptedConnection:] (self=0x7d4c9388, _cmd=0x2fe04700, _connection=0x7dee0348) at WOHttpAdaptor.m:432                                                                                                               
#36 0x0fea2762 in -[WOHttpAdaptor _handleConnection:] (self=0x7d4c9388, _cmd=0x2fe04780, connection=0x7dee0348) at WOHttpAdaptor.m:543
#37 0x0fea2d62 in -[WOHttpAdaptor acceptControlMessage:] (self=0x7d4c9388, _cmd=0x2fe04608, aNotification=0x8938a148) at WOHttpAdaptor.m:579
#38 0x05a1c79e in -[NSNotificationCenter _postAndRelease:] (self=0x8ace7358, _cmd=0x2590d1d0, notification=0x8938a148) at NSNotificationCenter.m:1161
#39 0x05a1b9c8 in -[NSNotificationCenter postNotificationName:object:userInfo:] (self=0x8ace7358, _cmd=0x2590d1d8, name=0x2c2a30fc, object=0x823e2448, info=0x0) at NSNotificationCenter.m:1220
#40 0x05a1b83e in -[NSNotificationCenter postNotificationName:object:] (self=0x8ace7358, _cmd=0x2c2a3088, name=0x2c2a30fc, object=0x823e2448) at NSNotificationCenter.m:1200
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) frame 5
#5  0x0674ea61 in -[LDAPSource _qualifierForFilter:] (self=0x83175588, _cmd=0x26724298, filter=0x81e07ec8) at LDAPSource.m:555
555           mailFormat = [[mailFields stringsWithFormat: fieldFormat]
(gdb) list
550
551       escapedFilter = SafeLDAPCriteria (filter);
552       if ([escapedFilter length] > 0)
553         {
554           fieldFormat = [NSString stringWithFormat: @"(%%@='%@*')", escapedFilter];
555           mailFormat = [[mailFields stringsWithFormat: fieldFormat]
556                          componentsJoinedByString: @" OR "];
557
558           qs = [NSMutableString string];
559           if ([escapedFilter isEqualToString: @"."])
(gdb) print escapedFilter
$1 = (class NSString *) 0x81e07ec8
(gdb) po escapedFilter
Cannot access memory at address 0x849975ec
(gdb) print filter
$2 = (class NSString *) 0x81e07ec8
(gdb) po filter
Cannot access memory at address 0x849975ec
(gdb) 
sogo_crasher_percent_sign.txt (13,074 bytes)   
buzzdee

buzzdee

2010-09-29 11:01

reporter   ~0001526

Forgot to set this to severity: crasher and Reproducibility: always

ludovic

ludovic

2010-09-29 11:32

administrator   ~0001528

This has been fixed a few days ago.

See: http://mtn.inverse.ca/revision/diff/e1912bf4962632854ed7898edea3ca2ba3a70406/with/1e01e7055612c8aa2f2c0e9151035ef348604b8e

buzzdee

buzzdee

2010-09-30 11:25

reporter   ~0001530

Adding the patch mentioned above fixes the problem for me, so please close this ticket.

Issue History

Date Modified Username Field Change
2010-09-29 10:30 buzzdee New Issue
2010-09-29 10:30 buzzdee File Added: sogo_crasher_percent_sign.txt
2010-09-29 11:01 buzzdee Note Added: 0001526
2010-09-29 11:32 ludovic Note Added: 0001528
2010-09-30 11:25 buzzdee Note Added: 0001530
2010-09-30 11:26 ludovic Status new => closed
2010-09-30 11:26 ludovic Resolution open => no change required