Server Crash Processing Adminp Request With Adminprenameincalendarentries

Technote (troubleshooting)


Problem

server crash in adminp with the following fatal stack

############################################################                          
### thread 3/6: [ nAdminp:  1584:  1704] FATAL THREAD                                
### FP=0x6da326e8, PC=0x77ef047a, SP=0x6da326e8                                      
### stkbase=0x6da40000, total stksize=4194304, used stksize=55576                    
### EAX=0x00000001, EBX=0x00155cc0, ECX=0xc0000034, EDX=0x00000000                    
### ESI=0x00000000, EDI=0x00000968, CS=0x00000033, SS=0x0000002b                      
### DS=0x00000000, ES=0x00000000, FS=0x00000000, GS=0x00000000                        
Flags=0x00000287                                                                      
############################################################                          
 [ 1] 0x77ef047a ntdll.ZwWaitForSingleObject+10 (D99181A96D5,77d6e354,3,13d17fc0)                                                    
 [ 2] 0x77d704ff kernel32.WaitForSingleObjectEx+223 (968,5,0,5)                      
@[ 3] 0x1009586f nnotes.FRSendCommandToService+1943 (6da37d60,6da38078,0,10091b58)                                                        
@[ 4] 0x10099158 nnotes.OSRunExternalScript+5860 (3,5,1230c084,1)                    
@[ 5] 0x10092985 nnotes.FRTerminateWindowsResources+2277 (f968,1005be94,330000000A9,1005d056)                                                  
@[ 6] 0x1009c122 nnotes.OSFaultCleanupExt+622 (0,10091d1f,150014,123101b0)                                                          
@[ 7] 0x1009cb99 nnotes.OSFaultCleanup+29 (100000002,22,6da39d90,10036a3e)                                                      
@[ 8] 0x100b650e nnotes.OSNTUnhandledExceptionFilter+626 (6da3abe0,6da3ff80,0,77cd69e0)                                                        
 [ 9] 0x77dc0053 kernel32.UnhandledExceptionFilter+547 (12994420,77e1d5d0,6da3ff80,0)                                                        
 [10] 0x77dbc4ff kernel32.SetThreadStackGuarantee+463 (77d40000,6da3acc8,6da3ad30,6da3ad30)                                                
 [11] 0x77ee5ef3 ntdll.RtlUnwindEx+531 (77d6b71a,6da3ff80,6da3b7f0,0)                
 [12] 0x77ee3ecd ntdll.RtlSizeHeap+125 (1,0,6da3b7f0,6da3fee0)                        
 [13] 0x77ee5a07 ntdll.RtlLookupFunctionEntry+1543 (FFFF6FCC5A86D58,6da3b320,0,0)                                                        
 [14] 0x77ef2c2d ntdll.KiUserExceptionDispatcher+45 (10261ca3,6af20,588734f8,4d4)                                                        
@[15] 0x111971a7 nnotes.Cstrcpy+3 (6af20,588734f8,4d4,1002ca51)                      
@[16] 0x10261ca3 nnotes.CnSProfileEnumProc+2111 (0,2e00001,0,0)                      
@[17] 0x1191adee nnotes.NSFProfileEnum+330 (588734f8,11,0,4114b0)                    
@[18] 0x10260bad nnotes.AdminpRenameInCalendarEntries+657 (0,6da3d658,6da3d758,6da3de1c)                                                        
@[19] 0x1046a80b nnotes.AdminpProcessDbCtx+1571 (188,11253a2c,80cca60,80be658)                                                        
@[20] 0x1046991e nnotes.AdminpProcessDatabases+166 (80be5c0,1198b1a1,e640091,0)                                                          
@[21] 0x004cfbe1 nAdminp.ModifyCalendarFiles::ProcessRequests+125 (f6c0000,0,e64cd7c,0)                                                                
@[22] 0x004c7ce9 nAdminp.BatchRequest::DoProcessRequest+733 (6b0,b9,6da3fa60,44c868)                                                              
@[23] 0x004509cb nAdminp.AdminpProcessNewRequest+14555 (f6c757a,9746961572E6573,676e,0)                                                      
@[24] 0x00449a45 nAdminp.AdminpRequestAndResponse+5213 (0,6480001,65,4)              
@[25] 0x00414648 nAdminp.EntryThread+2124 (0,0,0,0)                                  
@[26] 0x10036596 nnotes.ThreadWrapper+330 (0,0,0,6da3ffa8)                            
 [27] 0x77d6b71a kernel32.BaseThreadStart+58 (0,0,0,0)



Cause

The end user managed to create a Federated Calendar entry that is not "legal"; it contains multiple values and not allowed characters. Because the entry contained multiple names, it caused the name parsing code to fail poorly trying to parse out part of the name. The parsing code did not contain sufficient safety checks to verify the data it was parsing was valid before attempting to use the data.

Resolving the problem

When users create Federated Calendars that do not conform to the proper schema, they can cause AdminP to crash while attempting to rename a user when AdminP encounters the bad data on the Calendar Profile doc. Additional safety checks have been added to handle better detection of bad data cases and to avoid them rather than causing a crash

Adding two types of safety checks to the parsing code: multiple name detection and better 'runt' entry checking. In either case the code will simply skip that bad Federated Calendar entry and log a reason why it was skipped.
For the multiple name detection the code now scans the 'name' for the name delimiter in what should be a single name. If it finds one it will skip the entry.
For the 'runt' entry case, when parsing the Federated Calendar constructed data there is now checking of all of the pointers used to extract names to be replaced to ensure they are not empty and are usable to reconstruct the Federated Calendar entry. If an entry is incomplete, the entry will be skipped and the issue logged

Fixed

8.5.4,8.5.3 FP3,9.0 Fixes issue where adding multiple Notes user names to a single federated calendar would cause Notes to crash


SPR # TLAM8SURET


Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

IBM Domino
Crash

Software version:

8.5.2, 8.5.2.1, 8.5.2.2, 8.5.2.3, 8.5.2.4, 8.5.3, 8.5.3.1, 8.5.3.2

Operating system(s):

AIX, Linux, Solaris, Windows, i5/OS

Reference #:

1636758

Modified date:

2013-05-08

Translate my page

Machine Translation

Content navigation