home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 9 / novell-nsepro-1992-vol09.iso / download / gpierr.txt < prev    next >
Text File  |  1992-03-16  |  18KB  |  405 lines

  1.                             OPERATING SYSTEM PATCHES
  2.                  For All NetWare Operating Systems Version 2.0a
  3.                 To fix the GPI problems with file & record locks
  4.  
  5.  
  6. PROBLEM
  7.  
  8.     A file server with 2.0a software will frequently get a General Protection Interrupt (GPI) error and halt when the workstations are running a file or record lock intensive application program.  The LAN is ARCNET or some other lower performance network.  The frequency of the GPI increases as the number of operating workstations increases.  With 6 workstations the error usually occurs within 20 minutes.  Upgrading the system to a faster LAN topology usually causes the problem to cease.
  9.  
  10.     Initially the problems were found by users of Softcraft's Btrieve which performs large numbers of physical record locks.  Potentially the problem could also exhibit itself with any other lock intensive application.    
  11.  
  12.  
  13. CAUSE
  14.  
  15.     This problem was found to be caused by two bugs in the lock code in the operating system.  Although related, each of these two bugs would cause the file server to GPI at different places.  The bugs would only exhibit themselves when intensive record and/or file locking were performed on a lower performance network.
  16.  
  17.     The first bug is related to the number of reply buffers that are setup in the operating system.  The GPI is caused by the OS attempting to utilize more reply buffers than actually exist.
  18.  
  19.     The second bug occurs when a reply buffer is wrongly placed back on the available stack while it is actually still in use by the driver.
  20.  
  21.  
  22. SOLUTION
  23.  
  24.     Patches have been formulated for the various NetWare operating systems that will correct the two bugs discussed above.  The patch can be performed using DOS DEBUG and must be performed to the NET$OS.OBJ file on the correct GENOS diskette before it is linked to the drivers.  A program that automatically implements the patch will soon be available.
  25.     Each operating system type requires a different patch.  Patches have been formulated for the following operating systems:
  26.  
  27.         Non-Proprietary NetWare 286 Version 2.0a
  28.         Proprietary NetWare 286 Version 2.0a
  29.         Nondedicated NetWare 286 Version 2.0a
  30.         Non-Proprietary NetWare SFT Level 1 Version 2.0a
  31.         Proprietary NetWare SFT Level 1 Version 2.0a
  32.         NetWare SFT Level 2 Version 2.0a
  33.         SFT II NetWare with TTS Version 2.0a
  34.  
  35.     The patches each check to make sure that the operating system that is being patched matches the patch being used.  If any of the search command results do not match with what is shown, then see note 1 at the bottom of the page.  The segment numbers shown on the examples may be different than those you actually see when performing the patches.  Comments are in parenthesis to the side of DEBUG commands.
  36.  
  37.     It is important that you backup the diskette to be patched before you start.  This way, if any errors are made during implementation of the patch, you will still have the original unpatched files.
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. Advanced Technical Services
  63. NetWare Services Division
  64. Novell, Inc.
  65. May 6, 1987
  66.  
  67.                             OPERATING SYSTEM PATCH
  68.                   For Non-Proprietary NetWare 286 Version 2.0a
  69.                 To fix the GPI problems with file & record locks
  70.  
  71. With the GENOS-2 diskette in drive A type:
  72.  
  73. C:> debug a:net$os.obj
  74. -r     (Display Registers)
  75. AX=0000  BX=0004  CX=242D  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  76. DS=2BB8  ES=2BB8  SS=2BB8  CS=2BB8  IP=0100   NV UP EI PL NZ NA PO NC
  77. 2BB8:0100 800800        OR      BYTE PTR [BX+SI],00                DS:0004=00 
  78. -r ds   (Change register DS by adding 3000H to original value shown above)
  79. DS 2BB8     (The segment numbers may be different than shown here)
  80. :5bb8
  81. -s 0 ffff 5d fb 5a 86 d6 5f    (Check to make sure you are using the right patch)
  82. 5BB8:F29D     (If the second number is different, see note 1 below)
  83. -e f297
  84. 5BB8:F297  55.e9
  85. 5BB8:F298  B0.42   10.cc
  86. -s 0 ffff 68 65 20 62 61 63
  87. 5BB8:9243     (If the second number is different, see note 1 below)
  88. -e 9243
  89. 5BB8:9243  68.2e   65.00   20.55   62.b0   61.10
  90. 5BB8:9248  63.e8   6B.34   67.e6   72.5d   6F.80   75.7e   6E.08   64.00
  91. 5BB8:9250  20.75   63.f3   61.e9   63.b2   68.33   65.4b   20.75   77.09
  92. 5BB8:9258  72.58   69.8b   74.0e   65.6a   20.5d   70.41   72.e9   6F.cc
  93. 5BB8:9260  63.2b   65.e9   73.6c   73.2b
  94. -s 0 ffff b9 fe ff 2b 4e 06
  95. 5BB8:E455     (If the second number is different, see note 1 below)
  96. -e e456
  97. 5BB8:E456  FE.a0
  98. -s 0 ffff 26 8c 4d 06 4b 75
  99. 5BB8:E534     (If the second number is different, see note 1 below)
  100. -e e538
  101. 5BB8:E538  4B.e9   75.2d   A8.d4   58.e9   8B.2e   0E.d4
  102. -s 0 ffff e3 5c 50 8b d9 9a
  103. 5BB8:E4DE     (If the second number is different, see note 1 below)
  104. -e e4df
  105. 5BB8:E4DF  5C.5b
  106. -w
  107. Writing 4242D bytes
  108. -q
  109.  
  110. C:>
  111.  
  112.     The patch is now complete.  You can now use GENOS to configure your operating system.
  113.  
  114. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  115.                             OPERATING SYSTEM PATCH
  116.                     For Proprietary NetWare 286 Version 2.0a
  117.                 To fix the GPI problems with file & record locks
  118.  
  119. With the GENOS-2 diskette in drive A type:
  120.  
  121. C:> debug a:net$os.obj
  122. -r     (Display Registers)
  123. AX=0000  BX=0004  CX=2431  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  124. DS=2BB8  ES=2BB8  SS=2BB8  CS=2BB8  IP=0100   NV UP EI PL NZ NA PO NC
  125. 2BB8:0100 800900        OR      BYTE PTR [BX+DI],00                DS:0004=00
  126. -r ds     (Change register DS by adding 3000H to original value shown above)
  127. DS 2BB8     (The segment numbers may be different than shown here)
  128. :5bb8
  129. -s 0 ffff 5d fb 5a 86 d6 5f
  130. 5BB8:F2A1     (If the second number is different, see note 1 below)
  131. -e f29b
  132. 5BB8:F29B  55.e9   B0.40   10.cc
  133. -s 0 ffff 68 65 20 62 61 63
  134. 5BB8:9245     (If the second number is different, see note 1 below)
  135. -e 9245
  136. 5BB8:9245  68.2e   65.00   20.55
  137. 5BB8:9248  62.b0   61.10   63.e8   6B.34   67.e6   72.5d   6F.80   75.7e
  138. 5BB8:9250  6E.08   64.00   20.75   63.f3   61.e9   63.b4   68.33   65.4b
  139. 5BB8:9258  20.75   77.09   72.58   69.8b   74.0e   65.6a   20.5d   70.41
  140. 5BB8:9260  72.e9   6F.ce   63.2b   65.e9   73.6e   73.2b
  141. -s 0 ffff b9 fe ff 2b 4e 06
  142. 5BB8:E459     (If the second number is different, see note 1 below)
  143. -e e45a
  144. 5BB8:E45A  FE.a0
  145. -s 0 ffff 26 8c 4d 06 4b 75
  146. 5BB8:E538     (If the second number is different, see note 1 below)
  147. -e e53c
  148. 5BB8:E53C  4B.e9   75.2b   A8.d4   58.e9
  149. 5BB8:E540  8B.2c   0E.d4
  150. -s 0 ffff e3 5c 50 8b d9 9a
  151. 5BB8:E4E2     (If the second number is different, see note 1 below)
  152. -e e4e3
  153. 5BB8:E4E3  5C.5b
  154. -w
  155. Writing 42431 bytes
  156. -q
  157.  
  158. C:>
  159.  
  160.     The patch is now complete.  You can now use GENOS to configure your operating system.
  161.  
  162. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  163.                             OPERATING SYSTEM PATCH
  164.                     For Nondedicated NetWare 286 Version 2.0a
  165.                 To fix the GPI problems with file & record locks
  166.  
  167. With the GENOS-2 diskette in drive A type:
  168.  
  169. C:> debug a:net$os.obj
  170. -r     (Display Registers)
  171. AX=0000  BX=0004  CX=477E  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  172. DS=2BB8  ES=2BB8  SS=2BB8  CS=2BB8  IP=0100   NV UP EI PL NZ NA PO NC
  173. 2BB8:0100 800900        OR      BYTE PTR [BX+DI],00                DS:0004=00 
  174. -r ds     (Change register DS by adding 3000H to original value shown above)
  175. DS 2BB8     (The segment numbers may be different than shown here)
  176. :5bb8
  177. -s 0 ffff 5d fb 5a 86 d6 5f
  178. 5BB8:FC34     (If the second number is different, see note 1 below)
  179. -e fc2e
  180. 5BB8:FC2E  55.e9   B0.0f
  181. 5BB8:FC30  10.cc
  182. -s 0 ffff 68 65 20 62 61 63
  183. 5BB8:9B65     (If the second number is different, see note 1 below)
  184. -e 9b65
  185. 5BB8:9B65  68.2e   65.00   20.55
  186. 5BB8:9B68  62.b0   61.10   63.e8   6B.7e   67.e4   72.5d   6F.80   75.7e
  187. 5BB8:9B70  6E.08   64.00   20.75   63.f3   61.e9   63.e5   68.33   65.4b
  188. 5BB8:9B78  20.75   77.09   72.58   69.8b   74.0e   65.b2   20.5e   70.41
  189. 5BB8:9B80  72.e9   6F.ee   63.2b   65.e9   73.8e   73.2b
  190. -s 0 ffff b9 fe ff 2b 4e 06                                                     
  191. 5BB8:EDD1     (If the second number is different, see note 1 below)
  192. -e edd2
  193. 5BB8:EDD2  FE.a0                                                                
  194. -s 0 ffff 26 8c 4d 06 4b 75                                                     
  195. 5BB8:EEB4     (If the second number is different, see note 1 below)
  196. -e eeb8                                                                         
  197. 5BB8:EEB8  4B.e9   75.0b   A8.d4   58.e9   8B.0c   0E.d4                        
  198. -s 0 ffff e3 5c 50 8b d9 9a                                                     
  199. 5BB8:EE5E     (If the second number is different, see note 1 below)
  200. -e ee5f                                                                         
  201. 5BB8:EE5F  5C.5b                                                                
  202. -w
  203. Writing 4477E bytes
  204. -q
  205.  
  206. C:>
  207.  
  208.     The patch is now complete.  You can now use GENOS to configure your operating system.
  209.  
  210. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  211.                             OPERATING SYSTEM PATCH
  212.               For Non-Proprietary NetWare SFT Level 1 Version 2.0a
  213.                 To fix the GPI problems with file & record locks
  214.  
  215. With the GENOS-2 diskette in drive A type:
  216.  
  217. C:> debug a:net$os.obj
  218. -r     (Display Registers)
  219. AX=0000  BX=0004  CX=9D0C  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  220. DS=2B84  ES=2B84  SS=2B84  CS=2B84  IP=0100   NV UP EI PL NZ NA PO NC
  221. 2B84:0100 800800        OR      BYTE PTR [BX+SI],00                DS:0004=00
  222. -r ds     (Change register DS by adding 4000H to original value shown above)
  223. DS 2B84     (The segment numbers may be different than shown here)
  224. :6b84
  225. -s 0 9000 5d fb 5a 86 d6 5f
  226. 6B84:6AB2     (If the second number is different, see note 1 below)
  227. -e 6aac
  228. 6B84:6AAC  55.e9   B0.30   10.cc
  229. -s 0 9000 68 65 20 62 61 63
  230. 6B84:0A39     (If the second number is different, see note 1 below)
  231. -e 0a39
  232. 6B84:0A39  68.2e   65.00   20.55   62.b0   61.10   63.e8   6B.16
  233. 6B84:0A40  67.d7   72.5d   6F.80   75.7e   6E.08   64.00   20.75   63.f3
  234. 6B84:0A48  61.e9   63.c4   68.33   65.4b   20.75   77.09   72.58   69.8b
  235. 6B84:0A50  74.0e   65.4a   20.62   70.41   72.e9   6F.de   63.2b   65.e9
  236. 6B84:0A58  73.7e   73.2b
  237. -s 0 9000 b9 fe ff 2b 4e 06
  238. 6B84:5C60     (If the second number is different, see note 1 below)
  239. -e 5c61
  240. 6B84:5C61  FE.a0
  241. -s 0 9000 26 8c 4d 06 4b 75
  242. 6B84:5D43     (If the second number is different, see note 1 below)
  243. -e 5d47
  244. 6B84:5D47  4B.e9
  245. 6B84:5D48  75.1b   A8.d4   58.e9   8B.1c   0E.d4
  246. -s 0 9000 e3 5c 50 8b d9 9a
  247. 6B84:5CED     (If the second number is different, see note 1 below)
  248. -e 5cee
  249. 6B84:5CEE  5C.5b
  250. -w
  251. Writing 49D0C bytes
  252. -q
  253.  
  254. C:>
  255.  
  256.     The patch is now complete.  You can now use GENOS to configure your operating system.
  257.  
  258. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  259.                              OPERATING SYSTEM PATCH
  260.                 For Proprietary NetWare SFT Level 1 Version 2.0a
  261.                 To fix the GPI problems with file & record locks
  262.  
  263. With the GENOS-2 diskette in drive A type:
  264.  
  265. C:> debug a:net$os.obj
  266. -r     (Display Registers)
  267. AX=0000  BX=0004  CX=9D0C  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  268. DS=2B84  ES=2B84  SS=2B84  CS=2B84  IP=0100   NV UP EI PL NZ NA PO NC
  269. 2B84:0100 800900        OR      BYTE PTR [BX+DI],00                DS:0004=00
  270. -r ds     (Change register DS by adding 4000H to original value shown above)
  271. DS 2B84     (The segment numbers may be different than shown here)
  272. :6b84
  273. -s 0 9000 5d fb 5a 86 d6 5f
  274. 6B84:6AB5     (If the second number is different, see note 1 below)
  275. -e 6aaf
  276. 6B84:6AAF  55.e9
  277. 6B84:6AB0  B0.2e   10.cc
  278. -s 0 9000 68 65 20 62 61 63
  279. 6B84:0A3A     (If the second number is different, see note 1 below)
  280. -e 0a3a
  281. 6B84:0A3A  68.2e   65.00   20.55   62.b0   61.10   63.e8
  282. 6B84:0A40  6B.16   67.d7   72.5d   6F.80   75.7e   6E.08   64.00   20.75
  283. 6B84:0A48  63.f3   61.e9   63.c6   68.33   65.4b   20.75   77.09   72.58
  284. 6B84:0A50  69.8b   74.0e   65.4a   20.62   70.41   72.e9   6F.e0   63.2b
  285. 6B84:0A58  65.e9   73.80   73.2b
  286. -s 0 9000 b9 fe ff 2b 4e 06
  287. 6B84:5C63     (If the second number is different, see note 1 below)
  288. -e 5c64
  289. 6B84:5C64  FE.a0
  290. -s 0 9000 26 8c 4d 06 4b 75
  291. 6B84:5D46     (If the second number is different, see note 1 below)
  292. -e 5d4a
  293. 6B84:5D4A  4B.e9   75.19   A8.d4   58.e9   8B.1a   0E.d4
  294. -s 0 9000 e3 5c 50 8b d9 9a
  295. 6B84:5CF0     (If the second number is different, see note 1 below)
  296. -e 5cf1
  297. 6B84:5CF1  5C.5b
  298. -w
  299. Writing 49D0F bytes
  300. -q
  301.  
  302. C:>
  303.  
  304.     The patch is now complete.  You can now use GENOS to configure your operating system.
  305.  
  306. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  307.                             OPERATING SYSTEM PATCH
  308.                       For NetWare SFT Level 2 Version 2.0a
  309.                 To fix the GPI problems with file & record locks
  310.  
  311. With the GENOS-4 diskette in drive A type:
  312.  
  313. C:> debug a:net$os.obj
  314. -r     (Display Registers)
  315. AX=0000  BX=0004  CX=E677  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  316. DS=2B83  ES=2B83  SS=2B83  CS=2B83  IP=0100   NV UP EI PL NZ NA PO NC
  317. 2B83:0100 800900        OR      BYTE PTR [BX+DI],00                DS:0004=00
  318. -r ds     (Change register DS by adding 4000H to original value shown above)
  319. DS 2B83     (The segment numbers may be different than shown here)
  320. :6b83
  321. -s 0 e000 5d fb 5a 86 d6 5f
  322. 6B83:A6B4     (If the second number is different, see note 1 below)
  323. -e a6ae
  324. 6B83:A6AE  55.e9   B0.1d
  325. 6B83:A6B0  10.cb
  326. -s 0 e000 68 65 20 62 61 63
  327. 6B83:4562     (If the second number is different, see note 1 below)
  328. -e 4562
  329. 6B83:4562  68.2e   65.00   20.55   62.b0   61.10   63.e8
  330. 6B83:4568  6B.2a   67.c5   72.5d   6F.80   75.7e   6E.08   64.00   20.75
  331. 6B83:4570  63.f3   61.e9   63.d7   68.34   65.4b   20.75   77.09   72.58
  332. 6B83:4578  69.8b   74.0e   65.4e   20.64   70.41   72.e9   6F.e0   63.2c
  333. 6B83:4580  65.e9   73.80   73.2c
  334. -s 0 e000 b9 fe ff 2b 4e 06
  335. 6B83:9851     (If the second number is different, see note 1 below)
  336. -e 9852
  337. 6B83:9852  FE.a0
  338. -s 0 e000 26 8c 4d 06 4b 75
  339. 6B83:9934     (If the second number is different, see note 1 below)
  340. -e 9938
  341. 6B83:9938  4B.e9   75.19   A8.d3   58.e9   8B.1a   0E.d3
  342. -s 0 e000 e3 5c 50 8b d9 9a
  343. 6B83:98DE     (If the second number is different, see note 1 below)
  344. -e 98df
  345. 6B83:98DF  5C.5b
  346. -w
  347. Writing 4E677 bytes
  348. -q
  349.  
  350. C:>
  351.  
  352.     The patch is now complete.  You can now use GENOS to configure your operating system.
  353.  
  354. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  355.                             OPERATING SYSTEM PATCH
  356.                     For SFT II NetWare with TTS Version 2.0a
  357.                 To fix the GPI problems with file & record locks
  358.  
  359. With the GENOS-4 diskette in drive A type:
  360.  
  361. C:> debug a:net$os.obj
  362. -r     (Display Registers)
  363. AX=0000  BX=0005  CX=4DDC  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  364. DS=2BB8  ES=2BB8  SS=2BB8  CS=2BB8  IP=0100   NV UP EI PL NZ NA PO NC
  365. 2BB8:0100 800900        OR      BYTE PTR [BX+DI],00                DS:0004=00
  366. -r ds     (Change register DS by adding 4000H to original value shown above)
  367. DS 2BB8     (The segment numbers may be different than shown here)
  368. :6bb8
  369. -s 0 ffff b9 fe ff 2b 4e 06
  370. 6BB8:FFB6     (If the second number is different, see note 1 below)
  371. -e ffb7
  372. 6BB8:FFB7  FE.a0
  373. -s 0 ffff 68 65 20 62 61 63
  374. 6BB8:8F5D     (If the second number is different, see note 1 below)
  375. -e 8f5d                                                                         
  376. 6BB8:8F5D  68.2e   65.00   20.55
  377. 6BB8:8F60  62.b0   61.10   63.e8   6B.14   67.c4   72.5d   6F.80   75.7e
  378. 6BB8:8F68  6E.08   64.00   20.75   63.f3   61.e9   63.fb   68.57   65.4b
  379. 6BB8:8F70  20.75   77.09   72.58   69.8b   74.0e   65.34   20.67   70.41
  380. 6BB8:8F78  72.e9   6F.04   63.50   65.e9   73.a4   73.4f
  381. -r ds     (Change register DS by again by adding an additional 1000H)
  382. DS 6BB8     (The segment numbers may be different than shown here)
  383. :7bb8
  384. -s 0 ffff 5d fb 5a 86 d6 5f
  385. 7BB8:0E19     (If the second number is different, see note 1 below)
  386. -e 0e13
  387. 7BB8:0E13  55.e9   B0.f9   10.a7
  388. -s 0 ffff 26 8c 4d 06 4b 75
  389. 7BB8:0099     (If the second number is different, see note 1 below)
  390. -e 9d
  391. 7BB8:009D  4B.e9   75.f5   A8.af
  392. 7BB8:00A0  58.e9   8B.f6   0E.af
  393. -s 0 ffff e3 5c 50 8b d9 9a
  394. 7BB8:0043     (If the second number is different, see note 1 below)
  395. -e 44
  396. 7BB8:0044  5C.5b
  397. -w
  398. Writing 54DDC bytes
  399. -q
  400.  
  401. C:>
  402.     The patch is now complete.  You can now use GENOS to configure your operating system.
  403.  
  404. Note 1:  If the second number is different when doing these checks then either the operating system has already been patched, the operating system is not version 2.0a, or you are using the wrong patch for the operating system you have.
  405.