Apple Security Update 2008-002 causes Abends in LIBC and Apache2 on NetWare 6.5 servers running iPrint

  • 3842033
  • 03-Apr-2008
  • 26-Apr-2012

Environment

Novell iPrint for Novell NetWare 6.5
Novell iPrint Client for Macintosh
Apple Mac OS X 10.5.2 security update 2008-002

Situation

The server ABENDs when a Macintosh iPrint Client prints to an iPrint printer or when a new iPrint printer is installed.
This problem only occurrs after Apple's Security Update 2008-002 is applied to the Macintosh workstations running Mac OS X 10.5.2

Resolution

The solution to address the issue slightly depends as per the server's identity :

For Novell NetWare 6.5 Support Pack 7:
Go to the download.novell.com site, select iPrint from the "Product or Technology" drop down list, click the search button, click the patches link/tab, download the "iPrint update to Novell NetWare 6.5 Support Pack 7 iprntnw65sp7x" , and follow the readme.

For Novell NetWare 6.5 Support Pack 6:
Follow the steps outlined above. In addition to updating NDPSM.NLM, IPPSRVR.NLM, and NDPSGW.NLM as instructed in the iprntnw65sp7a patch readme, update MOD_IPP.NLM . To update this module, add steps 4a and 5a to the steps outlined in the iprntnw65sp7a readme.

4a. Make a backup of the current MOD_IPP.NLM in the server's
SYS:\apache2\iprint directory.

5a. Copy the updated MOD_IPP.NLM to the server's
SYS:\apache2\iprint directory.


NOTE: The ABEND fix is in IPPSRVR.NLM. However, the IPPSRVR.NLM requires a matching NDPSM.NLM and MOD_IPP.NLM to operate. That is why server's running NetWare 6.5 Support Pack 6 need more than the IPPSRVR.NLM to resolve the ABEND problem.

After applying this fix, you may encounter a problem installing iPrint printers to a Apple Macintosh workstation. See KB 3053360 for information on that problem.

Additional Information

Excerpt from the Abend.log
Novell Open Enterprise Server, NetWare 6.5
Abend 1 on P00: Server-5.70.05: Page Fault Processor Exception (Error code 00000000)
Registers:
CS = 0060 DS = 007B ES = 007B FS = 007B GS = 007B SS = 0068
EAX = 0000000C EBX = 8D6C6398 ECX = 0000006F EDX = 8C1A0370
ESI = 8D6C5B5C EDI = 996886DD EBP = 996884BC ESP = 99688498
EIP = BEBE4BE3 FLAGS = 00010206
BEBE4BE3 803800 CMP [EAX]=?, 00
EIP in LIBC.NLM at code start +00096BE3h
Access Location: 0x0000000C
The violation occurred while processing the following instruction:
BEBE4BE3 803800 CMP [EAX], 00
BEBE4BE6 89C7 MOV EDI, EAX
BEBE4BE8 89DE MOV ESI, EBX
BEBE4BEA 88CA MOV DL, CL
BEBE4BEC 743D JZ BEBE4C2B
BEBE4BEE 89C0 MOV EAX, EAX
BEBE4BF0 89F8 MOV EAX, EDI
BEBE4BF2 83C701 ADD EDI, 00000001
BEBE4BF5 3810 CMP [EAX], DL
BEBE4BF7 752D JNZ BEBE4C26
Running process: Apache_Worker 25 Process
Thread Owned by NLM: APACHE2.NLM
Stack pointer: 99688E54
OS Stack limit: 9967B5A0
Scheduling priority: 67371008
Wait state: 5050090 Wait for interrupt
Stack: --996884BC ?
--996886DD ?
-8D6C5B5C (IPPSRVR.NLM|(Data Start)+3B5C)
--99688694 ?
8D6B60F4 (IPPSRVR.NLM|(Code Start)+F0F4)
--0000000C (LOADER.NLM|KernelAddressSpace+C)
-8D6C6398 (IPPSRVR.NLM|(Data Start)+4398)
-8D6C5B5C (IPPSRVR.NLM|(Data Start)+3B5C)
--99688694 ?
--99689A18 ?
8D6B4F46 (IPPSRVR.NLM|(Code Start)+DF46)
--0000000C (LOADER.NLM|KernelAddressSpace+C)
--99688694 ?
C02B0AB3 (ACPIDRV.PSM|WaitForCMDIdle+23)
--B8804000 ?
--00000002 (LOADER.NLM|KernelAddressSpace+2)
C02B0A8A (ACPIDRV.PSM|PSMXCallDestField+55)
--00000002 (LOADER.NLM|KernelAddressSpace+2)
--FE005040 (LOADER.NLM|OSAllocMemory+5040)
-0041FEFC (SERVER.NLM|targetProcessorTable+20)
--00000000 (LOADER.NLM|KernelAddressSpace+0)
-8D6C5718 (IPPSRVR.NLM|(Data Start)+3718)
--00000082 (LOADER.NLM|KernelAddressSpace+82)
-8D6C6000 (IPPSRVR.NLM|(Data Start)+4000)
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--FBC83148 (LOADER.NLM|PerCpuDataArray+3148)
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--97039260 ?
--00000001 (LOADER.NLM|KernelAddressSpace+1)
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--996886D0 ?
--8E039070 ?
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--8C4D4010 (REWRITE.NLM|restore_context+53B0)
86742BF2 (MSM.NLM|MSMGetPhysical+8)
--00000002 (LOADER.NLM|KernelAddressSpace+2)
--87EFE250 ?
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--00000021 (LOADER.NLM|KernelAddressSpace+21)
--00000010 (LOADER.NLM|KernelAddressSpace+10)
--75657571 ?
--6A2D6465 ?
--632D626F ?
--746E756F ?
--6E6F7361 ?
--626F6C73 ?
--00750073 ?
--00700070 ?
--00650053 ?
--00760072 ?
-0044005F (SERVER.NLM|CacheSearchTable+1877)
--006C0065 ?
0035006C (SERVER.NLM|ProcessorOnlineAddGlobalBreakpoint+C)
00300031 (SERVER.NLM|DisplayLicenseInfoAESProcedure+125)
-00430030 (SERVER.NLM|preBitsInReadBuffer+500C)
-005F004E ?
--00720050 ?
--006E0069 ?
--00650074 ?
002E0072 (SERVER.NLM|LoggerThread+1866)
--00720050 ?
--006E0069 ?
--00650074 ?
--00730072 ?
-0052002E (SERVER.NLM|ESMMemoryTracker+9DE)
--00730065 ?
--0075006F ?
--00630072 ?
--00730065 ?
-0044002E (SERVER.NLM|CacheSearchTable+1846)
--006E0065 ?
--00730069 ?
--006E006F ?
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--996887F4 ?
-855AA7C4 ?
--99688A70 ?
85B9B317 (DS.NLM|DSMPNCPPing+5F)
--99688A70 ?
--00000064 (LOADER.NLM|KernelAddressSpace+64)
-855AA7C4 ?
--99688860 ?
--99688604 ?
85B9B4B1 (DS.NLM|DSMPNCPHandler+76)
--8FA12BA0 ?
--8FA12BA0 ?
--00000246 (LOADER.NLM|KernelAddressSpace+246)
00110846 (LOADER.NLM|kSpinUnlockRestore+26)
--00000246 (LOADER.NLM|KernelAddressSpace+246)
0020A9FF (SERVER.NLM|kSemaphoreSignal+11F)
--95D99F20 ?
--00000246 (LOADER.NLM|KernelAddressSpace+246)
--00000246 (LOADER.NLM|KernelAddressSpace+246)
--95D99E20 ?
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--00000000 (LOADER.NLM|KernelAddressSpace+0)
--8FA12BA0 ?
855E0C83 (THREADS.NLM|_SignalSemaphore+B)
--95D99F20 ?

Additional Information:
The CPU encountered a problem executing code in LIBC.NLM. The problem may be in that module or in data passed to that module by a process owned by APACHE2.NLM.