home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 033 / ex13flow.zip / EX13FLOW.TEC
Text File  |  1994-09-21  |  18KB  |  389 lines

  1. ID:X3 Troubleshooting Exception #6, #12, and #13 Errors
  2. Quarterdeck Technical Note #232                    Filename: EX13FLOW.TEC
  3. by Diane Christensen and Anthony Thompson        CompuServe: EX13FL.ZIP
  4. Last revised: 9/19/94                              Category: QEMM
  5.  
  6. Subject: Detailed explanation and troubleshooting procedures for
  7.          Exception #6, #12, and #13 error messages and system lockups.
  8.  
  9.  
  10.                                OVERVIEW
  11.                                --------
  12.  
  13. This document addresses Exception #6, #12 and #13 error messages.  These
  14. three Exceptions are so similar in cause, nature, and solution that they
  15. will all be covered by the information below.  Any reference to an
  16. Exception error in this document applies to an Exception #6, Exception
  17. #12, or Exception #13 error.
  18.  
  19. Please note that sometimes QEMM cannot report the error to the screen, so
  20. a blank screen or a lockup occurs.  For troubleshooting purposes, treat a
  21. system lockup or a blank screen (that accepts no input) to be the same as
  22. an Exception error.
  23.  
  24. This troubleshooting procedure will isolate and resolve the conflict most
  25. effectively if you are able to reproduce the conflict at will (i.e., you
  26. know of a specific action or series of actions that will cause the
  27. conflict to occur).  The reason for this is that this procedure follows a
  28. logical set of tests to determine when a conflict is occuring and when it
  29. is not.  A conflict that randomly occurs is difficult to troubleshoot
  30. because you do not know for sure when the configuration being used is
  31. actually resolving the conflict.
  32.  
  33.  
  34. Q:  What is an Exception error?
  35.  
  36. A:  An Exception #13 is the most common exception error reported by QEMM.
  37.     It is an error generated by the PC's processor notifying you that an
  38.     invalid instruction has been issued.  The invalid instruction may
  39.     have come directly from software running on your machine, the result
  40.     of a conflict between software and hardware, or a conflict between
  41.     two hardware devices.
  42.  
  43.     An Exception #12 is caused by the stack boundary being crossed.  This
  44.     Exception can often be generated by an Exception #13.
  45.  
  46.     An Exception #6 is an invalid opcode resulting from the CPU's
  47.     instruction pointer being pointed at a value that is not a valid
  48.     operation or instruction for the CPU.
  49.                                       
  50.     An Exception error is not generated by QEMM, but by your PC's
  51.     processor.  QEMM has the ability to detect these errors and display
  52.     them to the screen.  The error message informs you what has happened
  53.     so that you may take the necessary steps to resolve the conflict.
  54.     Without QEMM's warning, your system would have simply crashed or hung
  55.     without an error message, or would have become unstable.  For more
  56.     detailed information about the error messages themselves, please
  57.     refer to Technical Note #142, "QEMM-386:  Exception 13 Explained"
  58.     (EXCEPT13.TEC).
  59.  
  60.  
  61.  
  62.  
  63. Q:  How do I resolve my Exception error?
  64.  
  65. A:  Follow these steps:
  66.  
  67.  
  68.                      DETERMINING YOUR QEMM VERSION
  69.                      -----------------------------
  70.  
  71. Before beginning this troubleshooting guide, you must first ensure that
  72. you have QEMM 7 installed.  Previous QEMM versions do not apply to this
  73. flowchart.  To determine the version of QEMM that is installed on your
  74. computer, type QEMMREG from the \QEMM directory.
  75.  
  76. ???  If the version of QEMM is not 7, you should upgrade to ensure
  77.      complete compatibility with all of the current hardware and software
  78.      on the market.  Since new hardware and software is released
  79.      regularly by other vendors, QEMM is constantly being updated to
  80.      perform optimally and without conflict with the latest hardware and
  81.      software products on the market.  QEMM is also updated to work
  82.      around flaws in other products to ensure system stability.  The
  83.      APPENDIX at the end of this technical note contains details about
  84.      updating QEMM.
  85.  
  86. ???  If the QEMM version is 7.01, you should obtain an update to the
  87.      latest version of QEMM to avoid any potential conflicts.  Even if
  88.      your QEMM version is later than 7.01, updating to the latest QEMM
  89.      version is advised.  The APPENDIX at the end of this technical note
  90.      contains details about updating QEMM.
  91.  
  92. With version 7.02 or later, please continue.
  93.  
  94.  
  95.                                 STEP 1
  96.  
  97.                            TAMING DOWN QEMM
  98.                            ----------------
  99.  
  100. *STEALTH*
  101.  
  102. Run the QSETUP program from the \QEMM directory, select P, "Review or
  103. change QEMM parameters," and examine your DEVICE=QEMM386.SYS line.  If
  104. you do NOT see an ST:M or ST:F anywhere on that line, proceed to the next
  105. section, *TROUBLESHOOTING MODE*.
  106.  
  107. If you DO see an ST:M or ST:F, select S, "Stealth ROMs," then O to turn
  108. Stealth off.  Pressing <Enter> will bring you back to the "Review or
  109. change QEMM parameters" screen, where you should press "A" to accept the
  110. changes, followed by "S" to save the changes.  At this point you should
  111. reboot the machine and try to recreate the Exception error.
  112.  
  113. ???  IF THE EXCEPTION ERROR DOES NOT OCCUR:  QEMM's Stealth ROM feature
  114.      is involved with the Exception error on your system.  You should
  115.      follow the STEALTH.TEC technote in the \QEMM\TECHNOTE directory to
  116.      configure Stealth to avoid the conflict.  You are finished with this
  117.      technote.
  118.  
  119.  
  120.  
  121. ???  IF THE EXCEPTION ERROR STILL OCCURS:  Continue with the next section,
  122.      *TROUBLESHOOTING MODE*.
  123.  
  124.  
  125. *TROUBLESHOOTING MODE*
  126.  
  127. Run the QSETUP program from the \QEMM directory, select P, "Review or change
  128. QEMM parameters," press <Page Down> twice, and select "Set up QEMM for
  129. troubleshooting."  This will add several troubleshooting parameters to the
  130. QEMM386.SYS device line for you.  Pressing <Enter> will bring you back to
  131. the "Review or change QEMM parameters" screen, where you should press "A"
  132. to accept the changes, followed by "S" to save the changes.
  133.  
  134. Reboot the machine and try to reproduce the Exception error.
  135.  
  136. ???  IF THE EXCEPTION ERROR DOES NOT OCCUR:  Congratulations, you're
  137.      done!  At this time, you may want to remove any unnecessary
  138.      troubleshooting parameters from the QEMM386.SYS device line in your
  139.      CONFIG.SYS file.  Leaving the parameters on the line isn't harmful,
  140.      but may be inefficient.  To do this, edit the CONFIG.SYS (QEMM's
  141.      Manifest utility in the \QEMM directory allows you to easily do
  142.      this) and remove the parameters one at a time.  Reboot the machine
  143.      and try to reproduce the conflict to isolate the parameter that
  144.      resolves the conflict.  The following parameters are the
  145.      troubleshooting parameters added by QSETUP:
  146.  
  147.      DB:2, RH:N, SH:N, TM:N, XBDA:N, TR:N, CF:N, FILL:N, MR:N
  148.  
  149.      Once you have identified the parameter that resolves the conflict,
  150.      you may remove the remaining troubleshooting parameters; you are then
  151.      finished with this technote.
  152.  
  153. ???  IF THE EXCEPTION ERROR STILL OCCURS:  Continue with the next
  154.      section, *DISABLE DOS-UP*.
  155.  
  156.  
  157. *DISABLE DOS-UP*
  158.  
  159. QEMM's DOS-UP feature may be involved with your Exception error.  From
  160. the \QEMM directory, run the QSETUP program, press the letter "U" to
  161. select "Enable or disable DOS-Up."  Press the letter "N" to disable the
  162. DOS-Up feature followed by <Enter> to go back to the QSETUP OPTIONS menu.
  163. Press the letter "S" to "Save configuration and Quit."  You will be asked
  164. by QSETUP if you would like to run Optimize.  Press <Enter> to begin the
  165. Optimize process.  When Optimize has completed, try to recreate the Exception
  166. error.
  167.  
  168. ???  IF THE EXCEPTION ERROR DOES NOT OCCUR:  DOS-Up is adding to the
  169.      conflict.  By partially enabling the DOS-Up feature you can still
  170.      receive the benefits of DOS-Up while avoiding the Exception error.
  171.  
  172.      From the QSETUP main menu, press the "U" key to "Enable or disable
  173.      DOS-Up," and then the "P" key for a "Partial" DOS-Up configuration.
  174.      This brings you to the DOS-Up Options screen, which allows you to
  175.      turn on or off the loading high of the 4 parts of DOS.
  176.  
  177.                 1 = DOS Resources No
  178.  
  179.  
  180.                 2 = COMMAND.COM   No
  181.                 3 = DOS Data      No
  182.                 H = DOS=HIGH      No
  183.  
  184.      Test the system by enabling only one of these options at a time,
  185.      saving the configuration, rebooting, and trying to reproduce the
  186.      Exception error.  Once the option that is causing the
  187.      conflict is isolated, setting the option to "No" in QSETUP will
  188.      ensure that QEMM's Optimize program will not enable this part of
  189.      DOS-Up in the future. You have resolved the conflict and are
  190.      finished with this technote.
  191.  
  192. ???  IF THE EXCEPTION ERROR STILL OCCURS:  Go to STEP 2.
  193.  
  194.  
  195.                                STEP 2
  196.  
  197.                              CLEAN BOOT
  198.                              ----------
  199.  
  200. In order to ensure that another driver isn't adding to the conflict, you
  201. should temporarily disable those drivers and TSRs not required to boot
  202. the machine or to reproduce the conflict.
  203.  
  204. Some conflicts require other drivers or TSRs to be loaded in order to
  205. attempt to reproduce the conflict.  For example, if the conflict is
  206. related to a CD-ROM, the drivers for the CD-ROM must be loaded. Also note
  207. that if your hard drive is compressed or requires a driver to be loaded
  208. then these drivers should NOT be REMarked out.
  209.  
  210. Using your favorite editor, edit your CONFIG.SYS file.  On every line in
  211. this file (EXCEPT the QEMM386.SYS line and those required to boot the
  212. machine or reproduce the conflict) place the word REM at the beginning of
  213. that line.  For example:
  214.  
  215.      DEVICE=C:\QEMM\QEMM386.SYS RAM R:1
  216.      REM DOS=HIGH
  217.      REM FILES=30
  218.      REM BUFFERS=30
  219.      REM DEVICE=C:\DOS\ANSI.SYS
  220.  
  221. Your CONFIG.SYS will have different lines, of course, with different
  222. values on them.
  223.  
  224. Save this file.  Perform the same operation on your AUTOEXEC.BAT file,
  225. adding REM to all lines that are not necessary to recreate the
  226. Exception error (but you MAY leave statements that begin with PATH or
  227. PROMPT).  Reboot your system and try to reproduce the Exception error.
  228.  
  229. ???  IF THE EXCEPTION ERROR DOES NOT OCCUR:  Remove each of your REMark
  230.      statements one at a time from your AUTOEXEC.BAT file, saving and
  231.      rebooting after each, to try and recreate the problem.  Should the
  232.      Exception error occur, the last line you unREMarked is the source of
  233.      the problem.
  234.  
  235.      If you have removed the REMs from all the lines in the AUTOEXEC.BAT
  236.      file without encountering the error, the problem is in the
  237.  
  238.  
  239.      CONFIG.SYS file.  In that case, repeat the instructions in the
  240.      previous paragraph, but perform the steps for the CONFIG.SYS file
  241.      this time.  Similarly, the last line you unREMarked prior to the
  242.      error reappearing is the line responsible for the problem.  Go to
  243.      the section *RESOLVING CONFLICTS WITH OTHER DRIVERS*.
  244.  
  245. ???  IF THE EXCEPTION ERROR STILL OCCURS: Go to STEP 3.
  246.  
  247.  
  248. *RESOLVING CONFLICTS WITH OTHER DRIVERS*
  249.  
  250. You have isolated the conflict and determined which driver or TSR is
  251. causing it.  Contacting the manufacturer of the program is often the
  252. best way to resolve the conflict; however, Quarterdeck Technical
  253. Support has found that the following suggestions resolve many other
  254. programs' incompatibilities:
  255.  
  256.       o  Configure the program to NOT use expanded memory.  Some programs
  257.          misuse expanded memory, and by configuring them to use extended
  258.          or conventional memory the conflict with your system may be
  259.          avoided.  Consult the program's documentation for configuration
  260.          options.
  261.  
  262.       o  Try loading the program low.  Some programs are written with the
  263.          assumption that they will be loaded in conventional memory and
  264.          fail to function properly when loaded into upper memory.
  265.          Programs that load themselves into upper memory should be
  266.          tested with this feature disabled.
  267.  
  268.       o  Contact the manufacturer of the program to acquire the latest
  269.          version of the program.  Newer versions may contain
  270.          compatibility fixes for known conflicts.
  271.  
  272. You are finished with this technote.
  273.                   
  274.  
  275.                                  STEP 3
  276.  
  277.                       ELIMINATE HIGH RAM CONFLICTS
  278.                       ----------------------------
  279.  
  280. To ensure that there is no conflict in upper memory, you should eliminate
  281. all High RAM and test the system.  Run QSETUP from the \QEMM directory,
  282. select P, "Review or change QEMM parameters" followed by R, "Fill upper
  283. memory with RAM."  You should select "No" to ensure that QEMM will not
  284. create High RAM.  Pressing "A" to accept the changes followed by "S" to
  285. save the configuration will allow you to exit QSETUP.  Reboot the system
  286. and attempt to reproduce the conflict (ignore any messages about programs
  287. not loading into upper memory, as you have removed all High RAM for this
  288. test).
  289.  
  290. ???  IF THE EXCEPTION ERROR DOES NOT OCCUR:  There is a conflict in upper
  291.      memory.  If you are using a bus-mastering SCSI hard disk controller
  292.      (consult the SCSI card's documentation if you are unsure), the
  293.      BUS-MAST.TEC technote in the \QEMM\TECHNOTE directory will help you
  294.      resolve the conflict.  Otherwise, the EXCLUDE.TEC technote in the
  295.      \QEMM\TECHNOTE directory will help you resolve the upper memory
  296.  
  297.  
  298.      conflict.  You are finished with this technote.
  299.  
  300. ???  IF THE EXCEPTION ERROR STILL OCCURS:  There is no upper memory
  301.      conflict.  You should proceed to STEP 4.
  302.  
  303.  
  304.                                  STEP 4
  305.  
  306.             TEST THE CONFIGURATION WITH DOS'S MEMORY MANAGERS
  307.             -------------------------------------------------
  308.  
  309. In this step, you will try to recreate the conflict without QEMM
  310. installed.  If the conflict occurs without QEMM on the system then QEMM
  311. is not involved in the conflict.
  312.  
  313. Edit your CONFIG.SYS with your favorite text editor, locate the
  314. QEMM386.SYS line, and at the beginning of that line, add the word REM, as
  315. in the example below:
  316.  
  317.      REM DEVICE=C:\QEMM\QEMM386.SYS <additional parameters>
  318.  
  319. Directly below this line, add the following two lines:
  320.  
  321.      DEVICE=C:\DOS\HIMEM.SYS
  322.      DEVICE=C:\DOS\EMM386.EXE ON RAM 2048
  323.  
  324. These two lines assume that HIMEM.SYS and EMM386.EXE are in the directory
  325. \DOS.  If they are in some other directory, replace the word DOS in the
  326. above two lines with the correct directory name.  If there are any
  327. eXcludes or Includes on your QEMM386.SYS line that are necessary to boot
  328. the machine, add them to the EMM386.EXE line as well.  Save your changes
  329. and reboot the machine.  After rebooting, QEMM will NOT be loaded.
  330. Attempt to reproduce the conflict.
  331.  
  332. ???  IF A CONFLICT DOES NOT OCCUR:  If you're loading DOS's memory
  333.      managers and you have followed every step of this technical note,
  334.      then further troubleshooting is required.  Contacting our technical
  335.      support department is the quickest and easiest way to resolve the
  336.      conflict.  Please mention that you have followed this technical note
  337.      and were instructed by STEP 4 to contact Quarterdeck for additional
  338.      troubleshooting steps.
  339.  
  340. ???  IF A CONFLICT STILL OCCURS:  QEMM is NOT involved with the conflict;
  341.      you are finished with this technote.  Since Exception errors will
  342.      generally only display with QEMM enabled, the symptoms of a
  343.      remaining problem with the DOS memory managers will most likely be a
  344.      machine hang.  If a conflict still occurs without QEMM loading,
  345.      further QEMM troubleshooting will not affect the conflict.  You
  346.      should consult the documentation that comes with the software that
  347.      generated the Exception error with QEMM or causes a hang with HIMEM
  348.      and EMM386, or contact the manufacturer of the program.
  349.  
  350.      Our technical support department is easily reached via electronic
  351.      channels such as CompuServe (GO QUARTERDECK), Internet (mail
  352.      SUPPORT@QDECK.COM or the comp.os.msdos.desqview Usenet newsgroup),
  353.      the Quarterdeck BBS (310-314-3227), or fax (310-314-3217).  When
  354.      contacting Quarterdeck, be sure to fully explain the symptoms of the
  355.  
  356.  
  357.      conflict and the results of the tests performed while following this
  358.      technical note.
  359.  
  360.      You can also call our Technical Support line at 310-392-9701 for
  361.      further assistance.  When you call, please be at the machine that is
  362.      experiencing the conflict.
  363.  
  364.  
  365.                                 APPENDIX                 
  366.  
  367.                     OBTAINING THE LATEST QEMM VERSION
  368.                     ---------------------------------
  369.  
  370. If you currently have a version of QEMM earlier than QEMM 7, you should
  371. upgrade to ensure complete compatibility with all of the latest software
  372. and hardware.  Contact the Quarterdeck Upgrade Department at 800-354-3222
  373. or 310-314-3222 for special upgrade pricing.  Please note that we give
  374. you a special upgrade price ONLY after you have registered your product!
  375.  
  376. If you are using QEMM 7 and would like to update your QEMM version to the
  377. latest maintenance release, free update patches are available on
  378. Compuserve (GO QUARTERDECK, LIB 10), the Quarterdeck BBS (310-314-3227),
  379. anonymous FTP (qdeck.com), or BIX (join desqview).  The updated version
  380. can also be ordered from Quarterdeck's Customer Service dept
  381. (800-354-3222) for the cost of shipping & handling.
  382.  
  383.  
  384.   ************************************************************************
  385.   *This technical note may be copied and distributed freely as long as it*
  386.   *is distributed in its entirety and it is not distributed for profit.  *
  387.   *          Copyright (C) 1994 by Quarterdeck Office Systems            *
  388.   ************************ E N D   O F   F I L E *************************
  389.