Thursday, January 28, 2010

NotesHPC

Contents
=========

Using Windows' Performance Monitor (perfmon)
Detecting Cache and Memory Misses
Detecting Processor Bottlenecks

Using Windows' Performance Monitor (perfmon)
============================================
Ref: http://www.sysed.com/DnLoads/QualityContents/W2K3Server/99_W2K3_Server_AppE_Performance_Counters.pdf

Ref:http://technet.microsoft.com/en-us/library/cc750967.aspx
TechNet - TechNet Library - TechNet Archive - WindowsNT Workstation - Resource Kit

Chapter 9 - The Art of Performance Monitoring
Chapter 10 - About Performance Monitor
Chapter 11 - Performance Monitoring Tools
Chapter 12 - Detecting Memory Bottlenecks
Chapter 13 - Detecting Processor Bottlenecks
Chapter 14 - Detecting Disk Bottlenecks
Chapter 15 - Detecting Cache Bottlenecks
Chapter 16 - Monitoring Multiple Processor Computers


Detecting Cache and Memory Misses
===================================
To analyse cache miss, the following performance counters may help:
- Cache : Data Map Hits :
Percentage of Data Maps in the Cache that could be resolved without having to retrieve a page from
the disk, i.e. the page was already in physical memory.
- Cache : Fast Read Resource Misses /second :
Frequency of Cache misses necessitated by the lack of available resources to satisfy the request.
- Memory : Pages /second :
Number of pages read from the disk or written to the disk to resolve memory references to pages that
were not in memory at the time of the reference. This is the sum of Pages Input/sec and Pages
Output/sec. This counter includes paging traffic on behalf of the system Cache to access file data for
applications. This value also includes the pages to/from non-cached mapped memory files. This is the
primary counter to observe if you are concerned
- Memory : Cache Faults :
Occur whenever the Cache manager does not find a file's page in the immediate Cache and must ask
the memory manager to locate the page elsewhere in memory or on the disk so that it can be loaded
into the immediate Cache.


Detecting Processor Bottlenecks
================================
The symptoms of a processor bottleneck aren't difficult to recognize:
- Processor: %Processor Time often exceeds 90%.
- System: Processor Queue Length is often greater than 2.
- On multiprocessor systems, System: % Total Processor Time often exceeds 50%.

Thursday, January 14, 2010

1001 Most Idiotic Errors

Who this is for: For developer / programmers on the verge of pulling out their hair, due to incomprehensible or downright unhelpful error messages.

HOW TO USE ME: When you get a non-sensical COMPILATION or RUNTIME message, check to see if the problem & solution is recorded here. You are encouraged to "Google" your error messages first. Chances are Google will point you to this webpage if your error message has a solution on this webpage.

Your Responsibility: If you find a solution to a problem with an idiotic error message, please email to the address above (without the word ".earth").

The Idiotic Error Messages


    Message:
 `struct streampos' used where a `__off64_t
    Occurance:
 Compiling / Installing program
    Cause:
 gcc3.1 iostream - streambuf.h file
    Solution:
 1) Compile with gcc 2.95
2) Configure with
CC="/usr/local/gcc2/bin/gcc" CXX="/usr/local/gcc2/bin/g++" ./configure --prefix=/mydir
provided your old gcc2.95 is in /usr/local/gcc2/bin/


    Message:
 186 3 Formatted record insufficient in WRITE
    Occurance:
 runtime, NEC-SX5
    Cause:
 Too small buffer for writing records. This is a System problem.
    Solution:
 Edit the environment variable to enlarge buffer for stdout.
F_SYSLEN=300
EXPORT F_SYSLEN


    Message:
 Stack SEGV. PC 0x10014af4. segv (11). code 28, pc 0x10014af4 segv (11). code 13, pc 0x10015c20,
[Thread   0 (2252684)]: Stack SEGV. PC 0x10014af4.
Addr 0xfffae69e78. SZ 67108864
[ 0 (2252684)]: segv (11). code 28, pc 0x10014af4,
vaddr 0xfffae69e78, alt-sp 0x14cf7190
[Thread   1 (2299358)]: Stack SEGV. PC 0x10015c20.
Addr 0x14cf808c. SZ 16809984
[ 1 (2299358)]: segv (11). code 13, pc 0x10015c20,
vaddr 0x14cf808c, alt-sp 0x14cf7190

Occurance:
 SGI Origin 2400 - Clare - MipsPro Fortran
    Cause:
 Stack size overflow
    Solution:
 Increase the system limit by:
ulimit -s 512000




    Message:

    Occurance:
 Compile Time - programs suddenly cannot compile
    Cause:
 Existence of core file - previous run created MEGA core file
    Solution:
 rm core


Message:
Warning: Stack frame size (131855680) larger than system limit (67108864)
    Occurance:
 MIPSPro Compilers, SGI Origins
    Cause:
 Stack size to large
    Solution:
 Compile with f90 -static ....


    Message:
 The minimum size of partition 5 exceeds the partition size limit.
    Occurance:
 Compiling using xlf90 on IBM SP2
    Cause:
 When the highest level of optimization (-O5/O4) is requested, the compiler will perform inter procedural optimization (ipa). In the process, it needs temp storage and when the default amount is not sufficient, the above message results.
    Solution:
 To remedy this, add the following switch to your compile line:-qipa=partition=large See the "man page" on xlf for detail. (Type xlf at prompt, not man xlf)


    Message:
 1514-008 (W) Variable bpmort is misaligned. This may affect the efficiency of the code.
    Occurance:
 Compiling using xlf90 on IBM SP2
    Cause:
 The list of the variables in the COMMON block (in Fortran) does not enforce the need(alignment for reasons of performance) for arranging them by decreasing size of the number of bytes which is necessary to represent them in memory.
    Solution:
Rearrange the variables listed in common so that the bigger sized variables come first. Example
real r4,v(99)
double precision r8
integer (8) i8
integer (4) i4
logical(2) log
common /test/log,v,r4,i4,r8,i8   ! NOT Good
common /test/r8,i8,v,r4,i4,log   ! GOOD


    Message:
 Warning: Cannot send session cache limiter - headers already sent
    Occurance:
 PHP, HTML, webpages, using start_session() or headers()
    Cause:
 The PHP function such as headers(), used with start_session(), produces HTML headers. When the PHP fragments are placed in the body of the HTML, this causes errors because the PHP fragments are trying to put HTML headers within the HTML body.
    Solution:
 Put the PHP fragments before the HTML body tag.

    Message:
 xlf: 1501-230 Internal compiler error; please contact your Service Representative
    Occurance:
 On an IBM SP2, when trying to compile a simple MPI test program using either mpxlf, mpxlf90 or /usr/local/mpi/bin/mpif77
    Cause:
 There can may be several causes to this error message. But in this particular case, including the option "-qnolm" solved the problem.
    Solution:
 Include the compiling option "-qnolm" which is to "Disables license management."


    Message:
 f90 INTERNAL: Unable to open message system.  *** Error code 2 (bu21)
    Occurance:
 Compiling in SGI using MipsPro Compiler f90 or CC.
    Cause:
 Incorrect variable LANG.
    Solution:
 export LANG=C or  setenv LANG C


    Message:
 XArray.tem.cpp(78): error: expected an identifier  T_index = item.T_index;
    Occurance:
 C++ programming
    Cause:
 In the example above, T_index is supposed to be a typename (eg int). This should be followed by a variable name such as:  T_index var_name; instead of the equal sign.
    Solution:
 Make the statement into a declaration like:  T_index varname;


    Message:
initfutil.o(.text+0x117): undefined reference to `mpir_init_flog_'
initfutil.o(.text+0x11f): undefined reference to `mpir_init_fcm_'
/short/f01/chee/MPICH_SRC/mpich-1.2.5/lib/libmpich.a(initfutil.o): In function `MPIR_InitFortranDatatypes':
initfutil.o(.text+0x193): undefined reference to `mpir_get_fsize_'
make[4]: *** [overtake] Error 1
    Occurance:
 Compiling MPICH-1.2.5 using Intel Fortran and C/C++
Compile using: ifc -g -axW -xW -ipo -tpp7
Happens during MAKE process
    Cause:
 The function mpir_init_flog for example, is declared (prototyped) and also called from the c-code mpich-1.2.5/src/fortran/src/initfutil.c.
However the function mpir_init_flog is defined in the fortran-code mpich-1.2.5/src/fortran/src/initfcmn.f.
When compiled with ifc -ipo, the object file initfcmn.o is NOT READABLE by other compilers or linkers such as icc. Therefore during the "make" process, the reference was UNDEFINED.
    Solution:
 Avoid using -ipo with with ifc, if the object code needs to be linked with other programs which are not compiled with ifc.


    Message:
/short/f01/chee/MPICH_SRC/mpich-1.2.5/bin/mpicc -O -DHAVE_ROMIOCONF_H -I/short/f01/chee/MPICH_SRC/mpich-1.2.5/include -I/short/f01/chee/MPICH_SRC/mpich-1.2.5/romio/adio/common/../include -I../include -c ad_fstype.c
/usr/include/bits/statfs.h(27): error: identifier "__SWORD_TYPE" is undefined  __SWORD_TYPE f_type;
/usr/include/bits/statfs.h(28): error: identifier "__SWORD_TYPE" is undefined  __SWORD_TYPE f_bsize;
/usr/include/bits/statfs.h(43): error: identifier "__SWORD_TYPE" is undefined  __SWORD_TYPE f_namelen;
/usr/include/bits/statfs.h(44): error: identifier "__SWORD_TYPE" is undefined  __SWORD_TYPE f_spare[6];
    Occurance:
 Compiling MPICH-1.2.5 using Intel Fortran and C/C++ on Linux Cluster
Happens during MAKE process
    Cause:
 Unable to find the system file where __SWORD_TYPE is defined.
Typically for linux systems, it is located in the file
/usr/include/bits/statfs.h and /usr/include/sys/statfs.h
    Solution:
 Add the following to the INCLUDE path in the makefile or configure option.
 -I/usr/include

    Message:
undefined reference to `iargc_'
or
undefined reference to `getarg_'
    Occurance:
 Compiling Fortran programs in using non-Unix Fortran compilers, including Intel Fortran
    Cause:
 The function iargc and the subroutine getarg are commonly available functions in Unix and is understood by the g77 compiler. However, they are not standard Fortran commands, and must be explicitly included during compilation.
    Solution:
 For Intel Fortran, add the flag during compilation:
ifc -Vaxlib .......


    Message:
Error 372 : Automatic variable VARa declared in non-procedure testt
    Occurance:
 In Fortran programs, such as:
 program testt
integer VARa(inum)
....
end program
     Cause:
 Cannot have dynamic arrays or even adjustable arrays in the main program. But can have this in sub-programs
    Solution:
 Transfer the section of code to a subroutine
 program testt
integer inum
inum = CONSTNUM
call subA(inum)
end program
subroutine subA(ival)
integer VARa(iVal)
....
end subroutine


    Message:
f90-700 f90: ERROR HPHI_INTER, File = Hphi.f, Line = 1163, Column = 10
No specific intrinsic exists for the intrinsic call "MAXVAL".
cf90: "explain cf90-message number" gives more information about each message
    Occurance:
 Compilation with SGI MIPSpro Fortran90 compiler.
The error will occur at the point where an intrinsic function is used, such as:
dimCN = maxval(Ntotala)
    Cause:
 This compilation error is due to the argument, Ntotala in the example above, that is used in the intrinsic function, has not been defined.
    Solution:
 Ensure that the argument is defined.


    Message:
Yellow Zone stack overflow, thread 2
forrtl: error (76): IOT trap signal
Yellow Zone stack overflow, thread 3
forrtl: error (76): IOT trap signal
Yellow Zone stack overflow, thread 4
forrtl: error (76): IOT trap signal
   0: __FINI_00_remove_gp_range [0x3ff81a1fec8]
   1: __FINI_00_remove_gp_range [0x3ff81a29330]
   2: __FINI_00_remove_gp_range [0x3ff800d5ba0]
   3: __FINI_00_remove_gp_range [0x3ff8057d674]
   4: __FINI_00_remove_gp_range [0x3ff80576450]
   0: __FINI_00_remove_gp_range    5: __FINI_00_remove_gp_range [0x3ff8058d9e8]
[0x3ff81a1fec8]
   6: __FINI_00_remove_gp_range [0x3ff8013bbd4]
   1: __FINI_00_remove_gp_range [0x3ff81a29330]
   7: __FINI_00_remove_gp_range [0x3ff801a2e10]
   2: __FINI_00_remove_gp_range [0x3ff800d5ba0]
   8: __FINI_00_remove_gp_range [0x3ff801c6110]
   3: __FINI_00_remove_gp_range [0x3ff8057d674]
   9: __FINI_00_remove_gp_range [0x3ff807e3bb0]
   4: __FINI_00_remove_gp_range [0x3ff80576450]
  10: __FINI_00_remove_gp_range [0x3ff807e25b4]
   5: __FINI_00_remove_gp_range [0x3ff8058d9e8]
  11: __FINI_00_remove_gp_range [0x3ff80582460]
   6: __FINI_00_remove_gp_range [0x3ff8013bbd4]
  12: __FINI_00_remove_gp_range [0x3ff805824dc]
   7: __FINI_00_remove_gp_range [0x3ff801a2e10]
  13: __FINI_00_remove_gp_range [0x3ff80594090]
   8: __FINI_00_remove_gp_range [0x3ff801c6110]
 14: __FINI_00_remove_gp_range [0x3ff8057d478]
   9: __FINI_00_remove_gp_range [0x3ff807e3bb0]
  15: _1258_hphi_interparam_    0: __FINI_00_remove_gp_range [0x3ff81a1fec8]
   1: __FINI_00_remove_gp_range [0x3ff81a29330]
   2: __FINI_00_remove_gp_range [0x3ff800d5ba0]
   3: __FINI_00_remove_gp_range [0x3ff8057d674]
   4: __FINI_00_remove_gp_range [0x3ff80576450]
   5: __FINI_00_remove_gp_range [0x3ff8058d9e8]
  10: __FINI_00_remove_gp_range [0x3ff807e25b4]
   6: __FINI_00_remove_gp_range [0x3ff8013bbd4]
  11: __FINI_00_remove_gp_range [0x3ff80582460]
   7: __FINI_00_remove_gp_range [0x3ff801a2e10]
   8: __FINI_00_remove_gp_range [0x3ff801c6110]
  12: __FINI_00_remove_gp_range [0x3ff805824dc]
   9: __FINI_00_remove_gp_range [0x3ff807e3bb0]
  13: __FINI_00_remove_gp_range [0x3ff80594090]
  10: __FINI_00_remove_gp_range [0x3ff807e25b4]
  14: __FINI_00_remove_gp_range [0x3ff8057d478]
  11: __FINI_00_remove_gp_range [0x3ff80582460]
  15: _1258_hphi_interparam_   12: __FINI_00_remove_gp_range [0x3ff805824dc]
  13: __FINI_00_remove_gp_range [0x3ff80594090]
  14: __FINI_00_remove_gp_range [0x3ff8057d478]
  15: _1258_hphi_interparam_ [Hphi.f: 1258, 0x12003f650]
  16: __FINI_00_remove_gp_range [0x3ff81dbdba0]
  17: __FINI_00_remove_gp_range [0x3ff81dbe194]
  18: __FINI_00_remove_gp_range [0x3ff8058a4a8]
forrtl: severe (174): SIGSEGV, segmentation fault occurred
forrtl: severe (174): SIGSEGV, segmentation fault occurred
forrtl detected SIGSEGV loop - aborting, nonrecoverable error.
forrtl detected SIGSEGV loop - aborting, nonrecoverable error.
/var/spool/pbs/mom_priv/jobs/936116.sc0.SC: line 26: 12958396 IOT/Abort trap  
      test.exe
    Occurance:
 Using OpenMP with Fortran Compilers on
Compaq Alpha - Compaq Fortran (formerly Digital Fortran)
Linux Cluster - Intel Fortran Compiler
SGI - MIPSpro Fortran
    Cause:
 The stack size for child threads are overflowing. The main stack size for the program is changed by the ulimit command (in Bash shell) or limit command (in C shell). However this environment variable does not set the size for the child thread stack size. Thus the child thread stack overflow.
    Solution:
 Set the environment variables to increase the child thread stack size.
#for intel
export KMP_STACKSIZE=500000000
#for SGI
export MP_SLAVE_STACKSIZE=500000000
#for CompaqDEC
export MP_STACK_SIZE=500000000


    Message:
OMP abort: stack overflow detected (address = 0x48439694) for OpenMP thread #1!
    Occurance:
 Using OpenMP with Fortran Compilers on
Compaq Alpha - Compaq Fortran (formerly Digital Fortran)
Linux Cluster - Intel Fortran Compiler
SGI - MIPSpro Fortran
    Cause:
 The stack size for child threads are overflowing. The main stack size for the program is changed by the ulimit command (in Bash shell) or limit command (in C shell). However this environment variable does not set the size for the child thread stack size. Thus the child thread stack overflow.
    Solution:
 Set the environment variables to increase the child thread stack size.
#for intel
export KMP_STACKSIZE=500000000
#for SGI
export MP_SLAVE_STACKSIZE=500000000
#for CompaqDEC
export MP_STACK_SIZE=500000000




    Message:
[ 0 (4019240)]: segv (11). code 28, pc 0x100a0ae0, vaddr 0xfff93655d0, alt-sp 0x1b34fc20 /var/spool/pbs2.3.16-n32/mom_priv/jobs/17447.clare.SC: line 19: 4019240 Segmentation fault (core dumped) test.exe
    Occurance:
 Using OpenMP with Fortran Compilers on
Compaq Alpha - Compaq Fortran (formerly Digital Fortran)
Linux Cluster - Intel Fortran Compiler
SGI - MIPSpro Fortran
    Cause:
 The stack size for child threads are overflowing. The main stack size for the program is changed by the ulimit command (in Bash shell) or limit command (in C shell). However this environment variable does not set the size for the child thread stack size. Thus the child thread stack overflow.
    Solution:
 Set the environment variables to increase the child thread stack size.
#for intel
export KMP_STACKSIZE=500000000
#for SGI
export MP_SLAVE_STACKSIZE=500000000
#for CompaqDEC
export MP_STACK_SIZE=500000000



    Message:
** Address error **
    Occurance:
Produced by Intel Fortran compiled code whenever a segmentation fault occurs
    Cause:
Could be any reason a segmentation fault occurs - eg accessing an element beyond an array bound.
    Solution:
Try running the code in a debugger (gdb or idb) to determine where it is falling over. Try turning on bounds checking (-C option). If the code fails at high levels of optimisation but not low, try the "binary chop" method to isolate the code that causes the error.


    Message:
Filename missing or blank - please enter name UNIT 23?
    Occurance:
 Fortran - with various compilers including Intel, MIPSpro
    Cause:
 When you have code like:
Case 1:  open(23, file=' ')
Case 2:  open(23, file='fort.23')
    Solution:
 Case 1: is legal for some compilers, although this is not Standard Fortran.  To solve this, give as many arguments as there are code with "un-named" files, when running the program. Eg.
a.out file1 file2 file3
Case 2: This is an Intel Fortran bug which confuses "fort.23" as some sort of RESERVED name.  To solve this, change the file name from "fort.23" to something other than "fort....". Eg.
open(23, file='solve.bug')


    Message:
INTERNAL ERROR at line 31: mismatch in statements 'comma' 'rcomma'
    Occurance:
SGI IRIX platform
C programs
cc MIPSpro Compilers: Version 7.3.1.3m
    Cause:
 Possible bug in the Compiler which causes the following code  to produce the INTERNAL ERROR
#pragma omp for
   for (int ii=1; ii<3; ii++)
    Solution:
 Solved by declaring the "int" outside the #pragma
int ii;
#pragma omp for
   for (ii=1; ii<3; ii++)



    Message:
 cc-1491 CC: ERROR File = octave.gperf, Line = 96
A template argument cannot reference an unnamed type
    Occurance:
 SGI - MIPSpro C/C++ compiler
Note: This problem seems to be non-existant in other compiler/platforms.
    Cause:
The problem comes from using an unnamed enumeration type. For example having the enumeration type:
enum  {
    TOTAL_KEYWORDS = 37,
    MIN_WORD_LENGTH = 2,
    MAX_WORD_LENGTH = 22,
    MIN_HASH_VALUE = 2,
    MAX_HASH_VALUE = 75
  };

and the error will occur in a line such as:
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    Solution:
 Give the enum structure a name, eg:
enum enumOctGperf   {
    TOTAL_KEYWORDS = 37,
    MIN_WORD_LENGTH = 2,
    MAX_WORD_LENGTH = 22,
    MIN_HASH_VALUE = 2,
    MAX_HASH_VALUE = 75
  };


   Message:
LNK2001: unresolved external symbol _main"
"LNK2001: unresolved external symbol _WinMain

   Cause:
This usually happens when you create the wrong type of project for you application.
In the first case, you chose "Win32 Application" when you should have selected
"Win32 Console Application". On the second case, well, it's the other way.

   Solution:
(1) Create a new project of the correct type, and read all your files too it, or
(2) change the type of the current project. This can be easily accomplished.
Select Project -> Settings from the menu, and go to the Link tab. There, in the
edit control at the bottom, look for the /subsystem switch and change it to
"/subsystem:console" or "/subsystem:windows" as appropriate


   Message:
"This application has failed to start because MSVCRTD.dll was not found. Re-installing the application may fix this problem."
   Cause:
   Solution:
DO NOT REINSTALL application - if you can create a new solution and run a new solution without crashing.


Message:
"fatal error LNK1181: cannot open input file '\naunsw002\cheec\Visual Studio Projects\ccTestPlatform\CBAtestPlatform\debug\cbatestplatform.lib'"
Cause:
ccTestPlatform Project Properties have selected the CBATestPlatform as a project dependency. Somehow this will not work. Note that CBATestPlatform.lib has already been added to the project via "Add Existing item".
Solution:
In the ccTestPlatform Project Properties, remove dependency to the CBATestPlatform project.

Message:
CBAtestPlatform  "fatal error LNK1104: cannot open file 'CSIROmock.lib'"
Cause:
Within the Fortran code, there is a line which points to a dll,
eg.     !dec$objcomment lib:'CSIROmock.lib'
However, the linker does not know where to find it even if the lib and dll files are in the projects "debug" sub-directory.
Solution:
Right click on the project -> Properties -> Linker -> General -> "Additional Library Directories"
-> then enter the directory path eg. "U:\Visual Studio Projects\CSIROmock\CSIROmock\Debug"


Message:
"CBAtestPlatform  error LNK2019: unresolved external symbol _CDFINVPOISSON referenced in function _GeneratePoissonNumEvents
CBAtestPlatform  fatal error LNK1120: 1 unresolved externals"
Cause:
Fail to recognize or find the function or subroutine called cdfinvpoisson
Solution:
1. Write an Fortran "interface" of the function (eg cdfinvpoisson) and put that interface within the code of the calling routine.
2. IN ADDITION, need to indicate where the *.lib file for the dll is. For example, given cdfinvpoisson is in the CsiroOpRiskLibrary.dll,
   i) write this at the start of the source code for GeneratePoissonNumEvents:
             !dec$objcomment lib:'CsiroOpRiskLibrary.lib'
      OR
   ii) in VS.Net, In the Solution Explorer, right click on the working project, select Project Dependencies, and
       tick the project which contains CsiroOpRiskLibrary.
  OR
   iii) if it is an mkl function that is unresolved, put the following at module level:
               include 'link_mkl_dll.h'
       which contains all the !dec$objcomment:*.lib
3. Ensure the interface file is not included in the function itself. For example:
       Let function FuncA be in the library CBAcore.dll. And FuncA will be used by an external project ProjA.
  Also function FuncA is in interfaceCBAcore module file.
  The error LNK2019 will occur when compiling ProjA if inside the definition of FuncA, it has the use statement:
          use interfaceCBAcore


Message:
Error: prPromoteSym : Illegal KIND & CLASS mix   [RISKDRIVER]
Cause:
A derived type has been defined in a module with the DLLEXPORT attribute.
The derived type cannot be initialised using the "structure constructor" technique.
Solution:
Remove the DLLExport attribute for the derived type in the module.



Message:
cctestplatform.exe: 0xC0000005: Access violation reading location 0x83ec8b55
Cause:
Tyring to call a subroutine in another module which is part of the same project, where the subroutine to be called has been DLL exported.
Solution:
Create a wrapper routine and put in the same module as the subroutine to be called. Then from the calling program, call this wrapper name.


Message:
Unhandled exception at 0x004952b2 in .........: 0xC0000005: Access violation reading location 0x41726570.
Cause:
Possibly initialized a variable with the wrong data. Eg.
    integer*4 :: dDummy
dDummy = 0.0d0
Solution:
Check that all data variables are initialized with the correct data type.


Message:
       Compilation Aborted (code 3)
Cause:
Could be memory allocation error. Or Not using new dll
Solution:
Copy new DLL into directory


Message:
       Unhandled Exception at .....
Cause:
1. Memory Mismatch in arguments. Happens when a subroutine has explicitly sized arguments eg:
    subroutine foo(arrA, iNum)
  integer :: iNum
  real :: arrA(iNum)
       .....
   If the caller puts in a wrond sized array or the wrong size value, then an error will occur. Eg:
     allocate (arrB(10))
call foo(arrB, 15)
.......
   This error cannot be found by looking at the size from within the subroutine because:
      print *, size(arrA), iNUm
   would print the same value because the array with the wrong size has been passed in.
Solution:
Use assumed shape arrays for dummy arguments rather than explicit size.


Message:
Error: The same named entity from different modules and/or program units cannot be referenced.   [MCSINGLEEXPOSURE_VB]
Cause:
"Use " has been used recursively, typically in an interface section, the function interface
declares to use the same module resides in.
Solution:
In the interface of the function, the "use " can be specified to restrict the usage to certain data
structures using "only" keyword.
Example:
module mod_foo
  type AAA
  end type AAA
  contains
  function foo_A
  ...
end module
function OutF()
   interface
      function foo_A
    use mod_foo, only: AAA
      end function foo_A
   end interface
   .....
end funtion OutF


Message:
MKL ERROR : Parameter 2 was incorrect on entry to vslNewStre
Cause:
using MKL, VSL, VML routines from intel, and having directives like:  
!dec$objcomment lib:'mkl_c_dll.lib'
    !dec$objcomment lib:'mkl_ia32.lib'
   are missing the path to the ...mkl\ia32\lib
Solution:
In VS.Net, within the dll/console project that uses them, add the path to the library files in:
Project -> Properties -> Linker -> General -> Additional Library Directories


Message:
Re: Error PRJ0019 : A tool returned an error code from "Performing registration"
Cause:
When compiling in VS.Net, and in the Post-Build-Events (in the Post-Build option), if it is designed
to copy the generated file to another directory automatically, then if the destination file is
being used by another user or it is over the network, then this error occurs.
Example is building a DLL file into the release directory, and having a Post-Build-event to copy the
DLL into windows\system32, and someone is actually using it. Or the destination to copy is in the I drive.
Solution:
Make sure no one else is using the file or remove this PostBuild rule.


Message:
The procedure entry point __powr8i4 could no be located in the dynamic link library libmmd.dll.
The procedure entry point __XERBLA could no be located in the dynamic link library imsl_dll.dll.
    Cause:
   An older version of the dll which has not got the function, is being used.
Solution:
Define the path with newest installation first.

Message:
Service Application Unavailable
Cause:
ASP.Net webpage not displaying because the web directory is located in a folder without proper
permissions.
Solution:
Grant permission to users. In my case the reason was a missing
\Users user. all I had to do to to give the ASPNET worker process 
access to my web project (under WinXP / IIS 5.1):

browse to the web project directory
right-click and select properties
select the security tab
Click the Add button
Type "Users" into the "Enter the object names..." textbox and click "Check Names"
A user named [COMPUTER-NAME]\Users should be displayed.
Click OK.
The "ASP.NET Machine Account" should now be listed in the
"Group or user names:" textbox.  By default, Read & Execute, List Folder
Contents and Read will be selected, however, you should be able to
run your site using only the Read permissions. This should be fine for the
permissions needed to run your site through IIS.


Message:
Checking if your computer has the latest version of Windows updating software for use with the website
Cause:
Something gone wrong during Windows Update or other causes and so causing subsequent Windows Update
to give the above message
Solution:
1. From MS site http://support.microsoft.com/kb/946413
**********
You receive error code 0x80244001 when you try to update the computer by visiting the Microsoft Update Web site or the Windows Update Web site
View products that this article applies to.
Article ID : 946413
Last Review : March 27, 2008
Revision : 1.0
On This Page

SYMPTOMS

CAUSE

RESOLUTION

Method 1: Register the Msxml3.dll file

Method 2: Register the Windows Update .dll files

Method 3: Close all instances of Internet Explorer

MORE INFORMATION
SYMPTOMS
When you try to connect to the Windows Update Web site or to the Microsoft Update Web site to search for updates, you receive error code 0x80244001.

Additionally, you may experience one or more of the following problems when you connect to the Windows Update Web site or to the Microsoft Update Web site to search for updates:• The Windows Update Web page may be blank.
• You are prompted to install an ActiveX control.
• The Windows Update Web site may appear to stop responding (hang) when you receive the following message:
Checking if your computer has the latest version of Windows updating software for use with the website
• You may receive an error message that resembles the following:
Files required to use Microsoft Update are no longer registered or installed on your computer

Back to the top

CAUSE
This problem may occur if a required system file is registered incorrectly.
Back to the top

RESOLUTION
To resolve this problem, use one of the following methods.
Back to the top

Method 1: Register the Msxml3.dll file
If you experience this problem on a computer that is running Windows XP or Windows Server 2003, register the Msxml3.dll file.

Note If you experience this problem on a computer that is running Microsoft Windows 2000-based, go to the next method.

To register the Msxml3.dll file, click Start, click Run, type regsvr32 msxml3.dll, and then click OK two times.
Back to the top

Method 2: Register the Windows Update .dll files
To resolve this issue, register the Windows Update .dll files and then try again to connect to the Windows Update Web site. To register the Windows Update .dll files, follow these steps:1. Click Start, click Run, type cmd, and then click OK.
2. At the command prompt, type regsvr32 wuapi.dll, and then press ENTER.
3. At the command prompt, type regsvr32 wuaueng.dll, and then press ENTER.
4. At the command prompt, type regsvr32 wuaueng1.dll, and then press ENTER.
5. At the command prompt, type regsvr32 wucltui.dll, and then press ENTER.
6. At the command prompt, type regsvr32 wups.dll, and then press ENTER.
7. At the command prompt, type regsvr32 wups2.dll, and then press ENTER.
8. At the command prompt, type regsvr32 wuweb.dll, and then press ENTER.
9. Try to connect to the Windows Update Web site again.

Back to the top

Method 3: Close all instances of Internet Explorer
To resolve this issue, close all the instances of Internet Explorer that are running on the computer. Then, try to connect to the Windows Update Web site or to the Microsoft Update Web site again. To connect to the Windows Update Web site or to the Microsoft Update Web site, click Start, and then click Windows Update or Microsoft Update.
Back to the top

MORE INFORMATION
You may be able to resolve the problem that is described in the "Symptoms" section by installing the Microsoft XML Parser (MSXML) 3.0 Service Pack 7 (SP7) update. For more information about how to download and install the MSXML 3.0 SP7 update, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052b-42ff-9674-f752bdca9582 (http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052b-42ff-9674-f752bdca9582)
Back to the top
************

2. From http://www.archivum.info/microsoft.public.windowsupdate/2006-03/msg00164.html
When searching for available updates on the Windows Update site, you see the
0x8007043B error
This error may occur if the WUAUSERV and BITS services are not configured
properly in the registry.
http://v5.windowsupdate.microsoft.com/v5consumer/showarticle.aspx?articleid=19&ln=en

When searching for available updates on the Update site, you see the 0x8007043B
error
http://update.microsoft.com/windowsupdate/v6/showarticle.aspx?articleid=19&ln=en&IsMu=False

or


"Checking for updates, depending on your speed this process may take several
minutes"
Try registering the following:

Click Start, select Run and type (pressing enter after each one and wait for
the success message):

net.exe stop wuauserv
Press Ok

Repeat for the following:
regsvr32 wuapi.dll
regsvr32 wups.dll
regsvr32 wuaueng.dll
regsvr32 wuaueng1.dll
regsvr32 wuweb.dll
regsvr32 jscript.dll
regsvr32 wucltui.dll
regsvr32 msxml3.dll
regsvr32 softpub.dll
regsvr32 atl.dll

net.exe start wuauserv

3. From http://www.thetechguide.com/forum/lofiversion/index.php/t27833.html
Not sure if this will work, but can you try it please
Save these instructions too a text file then close down all browsers, including this one

Go to START>>RUN>>Type in, or copy and paste the following hitting OK after each command

net.exe stop wuauserv
regsvr32.exe wuapi.dll
regsvr32.exe wups.dll
regsvr32.exe wuaueng.dll
regsvr32.exe wucltui.dll
regsvr32.exe MSXML3.dll
net.exe start wuauserv

Afterwards go back to Windows updates



Message:
Not a message - Sticky keys in WinXP get activated by mistake.
Cause:
Due to Windows Accessibility Option which can be found under Control Panel.
Solution:
1. Try pressing both the left and right CTRL keys at the same time and
see if that releases CTRL.
2. Go to Start / Settings / Control Panel / Accessibility Options /
Keyboard Options.
Turn off CTRL lock if it's on.
If that solves it and to avoid future problems, press "Settings"
Turn off "Press modifier key twice to lock".
Turn on "Turn sticky keys off if 2 keys are pressed at once".
Or turn off "Use shortcut"
3. Clean your keyboard.



Message:
Not a message - Performance Monitor ( perfmon ) not working.
Cause:
There are several reasons to this. Rather than stating the numerous causes, a
brief description is given here about perfmon.
1. Perfmon is located in C:\windows\system32\perfmon.exe
2. A configuration or data file it uses is C:\windows\system32\perfmon.msc
3. It has some library files C:\windows\system32\perfX009.dat, where
   X = 'c', 'd', 'h', 'i'
4. It has got various dlls C:\windows\system32\perf*.dll
5. It has also got various entries in the registry.
The corruption of any of these may cause perfmon to stop working.

Solution:
1. Quick and dirty way is to find a PC where perfmon is working and copy any necessary
   perfmon files which are corrupted on your machine.
2. Correct the registry entries. This may be dangerous. Check:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disable Performance Counters
3. See the links below for more info or
   Google: "performance monitor" regedit disable.

http://www.dotnet247.com/247reference/msgs/51/255103.aspx

PRB: Performance Object Is Not Displayed in Performance Monitor
http://support.microsoft.com/kb/248993

Troubleshooting Performance Monitor Counter Problems
http://kbalertz.com/152513/Troubleshooting-Performance-Monitor-Counter-Problems.aspx

Q248993 - 248993 - PRB: Performance Object Is Not Displayed in Performance Monitor

Q249138 - 249138 - INFO: Controlling the Disabling of Performance Monitor Extensions

Q300956 - 300956 - How to Manually Rebuild Performance Counter Library Values




Message:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembl
y 'ConsoleDriver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one
of its dependencies. Failed to grant minimum permission requests. (Exception fro
m HRESULT: 0x80131417)
File name: 'ConsoleDriver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
' ---> System.Security.Policy.PolicyException: Required permissions cannot be ac
quired.
   at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, Permissio
nSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& den
ied, Boolean checkExecutionPermission)
   at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, Permissio
nSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& den
ied, Int32& securitySpecialFlags, Boolean checkExecutionPermission)

Cause:
The above message may be a general message that can be attributed to a number of different errors.
The list of causes below is therefore not limited, please send us other causes that you have found.
1. A managed code (eg C# application) is being run on a network drive (hence lack of permission).

Solution
1. Move the executable and related applications to run from a local drive.


Message:
Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'xxxxx.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Cause:
The above message may be a general message that can be attributed to a number of different errors.
The list of causes below is therefore not limited, please send us other causes that you have found
1. If you are deploying an application build / compiled on one machine, to another machine, then on that remote machine,
some files may be missing.
Solution:
1. Use Dependency Walker to scan your application's exe and / or the dlls that you build. From Dependency Walker, look for any
dependent dlls that are not found in the remote machine.
Example: this error may happen if msvcr80.dll or msvcr80d.dll are not in the remote machine.


Message:
OMP: Error #15: Initializing libguide.lib, but found libguide40.dll already initialized.
OMP: Hint: This may cause performance degradation and correctness issues. Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to
ignore this problem and force the program to continue anyway.
Cause:
Occur when running within VS.Net and Intel Fortran. In particular it is because libraries, eg. IMSL_DLL.DLL is linked
into the application, but the application is compiled as static.
Solution:
1. Compile the program as using dynamic libraries by setting:
Project -> Properties -> Fortran -> Libraries -> Runtime Library -> Debug Multithreaded (/libs:dll /threads /dbglibs)
2. Make sure there are no multiple files of link_mkl_dll.h which links to libguide40.dll


Message:
OMP: Warning #18: Setting environment variable "__KMP_REGISTERED_LIB_4504" failed:
OMP: System error #203: The system could not find the environment option that was entered
OMP: Error #110: Clearing __KMP_REGISTERED_LIB env var failed.
Cause:
Occur when running within VS.Net and Intel Fortran. In particular OpenMP as well as MKL is required in the code.
The conflict arise when using the threaded version of MKL with OpenMP dlls.
Solution:
To use threaded MKL, there is an option to use libguide40.lib (older) or libiomp5md.lib. To avoid this error, use
libguide40.lib


Message:
'CS0246: The type or namespace name 'type/namespace' could not be found (are you missing a using directive or an assembly reference?)'.
Cause:
The .NET framework enables a number of different build configurations. The first category choice is
{Release, Debug} and the second is processor dependent {x86, x64, anycpu}.
Occurs when updating code, particularly config files or settings, compile errors may occur or it may throw the
above error.
Solution:
It is recommended to clean the solution for all build configurations if these type of errors are encountered.
To do this, right click solution and select batch build. Then select all files and clean solution.
Then batch build solution.

Message:
Server Application Unavailable
Occurance:
Windows OS, ASP.Net
Cause:
Newly installed IIS is not configured properly or web application folder lacks permissions
Solution:
1. Register the correct version of .Net Framework:
   go to: c:\Windows\Microsoft.Net\Framework\vx.xxxx\
   run: aspnet_regiis -i
2. Give read and execute permissions to the web app folder


Message:
forrtl: severe (40): recursive I/O operation, unit -1, file unknown
    Occurance:
Intel Fortran Compiler, perhaps other Fortran compilers too.
Cause:
Trying to print to screen (STDOUT), within a function foo, where the main program also prints out the function value.
Example:
       print *, foo()
  ....
  function foo() result(log)
     logical log
 print *, "hello"
 log = .true.
  end function
Solution:
Change the print in the main program to indirect printing, ie.
       var = foo()
  print *, var


Message:
On webpage:
Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable.
Please hit the "Refresh" button in your web browser to retry your request.
Administrator Note: An error message detailing the cause of this specific request failure can be
found in the application event log of the web server. Please review this log entry to discover what
caused this error to occur.
On Event Viewer:
Failed to initialize the AppDomain:/LM/W3SVC/1/Root/Read01
Exception: System.IO.FileLoadException
Message: Could not load file or assembly 'System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.
    Occurance:
ASP.Net
Cause:
Folders do not have proper permission.
Solution:
Give proper permission to the folder of the asp.net web application project.
Solution: Folder properties -> Security -> Users -> Read & Execute, List Folder Contents, Read -> ALLOW



Message:
First-chance exception at 0x7c812a6b in console2.exe: 0xA1A01DB1: 0xa1a01db1.
    Occurance:
Running Debugging session (F5) within Microsoft Visual Studio on Intel Fortran project. Note that this does
not happen when running the application (Debug and Release version) outside of the MS-VS IDE, such as
using Command Line terminal.
    Cause:
Unknown but seem to occur when compiling with the OpenMP switch on. There is also another configuration,
besides the OpenMP that can cause this.
    Solution:
To remove this exception (not really solving it), in the MS-VS IDE, goto Debug -> Exceptions -> Win32 Exceptions
-> Uncheck this (leave the sub-options under Win32 Exceptions remain checked).



    Message:
MKL FATAL ERROR on load the function XXXXXX
... where XXXXXX can be mkl_blas_dgemv or setxer
    Occurance:
When MKL library is used in the application, whether called by your code or another 3rd party code.
    Cause:
In my particular case, it was IMSL numerical library that was making a call to MKL functions. Ordinarily, things would
work, but due to a combination of how MKL libraries and IMSL libraries are linked, this error may result. In my specific
case, it was specifying Threaded / Parallel AND 64bit (x64) for IMSL linking with MKL's threaded, dynamic, 64bit (x64)
version that caused this problem. The root cause is IMSL have not linked properly to MKL's function for threaded, 64bit\
version for particular functions.
    Solution:
Wait for IMSL / MKL to fix in the new version. In the meantime, use conditional compilation for your code. That means,
avoid using those specific IMSL functions when compiled under threaded 64bit IMSL.



    Message:
Failed to access IIS metabase.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.Hosting.HostingEnvironmentException: Failed to access IIS metabase.
The process account used to run ASP.NET must have read access to the IIS metabase (e.g. IIS://servername/W3SVC). For information on modifying metabase permissions, please see http://support.microsoft.com/?kbid=267904.
    Occurance:
Windows IIS web server, running ASP.Net 2.0xxxx
    Cause:
Not registering or not recognising user, exact solution unknown but the following combination of steps solvea the problem.  
    Solution:
Open a command prompt and go to the C:\Windows directory, then type:
    aspnet_regiis.exe -ga "au\cheec"
    aspnet_regiis.exe -i
    iisreset
Also open up IIS admin from:
    Control Panel - Performance and Maintenance - Administrative Tools - Internet Information Services
Then in the IIS admin, drill down Web Sites - Default Web Site -
Right Click on the Properties and select the "Directory Security", then click Edit.
This brings up the Authentication Dialog Box, then tick the checkbox called Integrated Windows Authentication.


    Message:
This is not the exact message: unable to add new project to existing solution. Visual Studio prompts you to move the
project to a different server location, or move the server path to the current location.
Occurance:
When there is an existing Solution with several existing Projects, all of which are in source control under Team Foundation Server (TFS). Then the user adds a new Project within that Solution. However, the user is not able to Add Project to Source Control.
    Cause:
The TFS configuration has corrupted somehow and the path to the solution file *.sln has been unbound or pointing to the wrong location.
    Solution:
From Visual Studio, go to File - Source Control - Change Source Control. A dialog pops up listing all projects and the solution file *.sln. Check that all these entries are bound to the correct location.

Keywords:
bug, errors, failure, ide, compile, exception, fatal error, Microsoft, visual studio .net



Message:
MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts. ---> System.Security.SecurityException: Request for the permission of type 'System.Net.SocketPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Occurance:
Using MySQL and ASP.Net 2.0 hosted on an ISP.
Cause:
Socket permission has not been enabled by default.
Solution:
Add Socket Permission to the Medium Trust level policy, if the ISP host is using Medium Trust.

To the SQL administrator:
1. The web_mediumtrust.config is located typically in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\
Add a SecurityClass called SOCKPermission to this file.



...

Define the SocketPermission ..........


To the Developer:
1. In the web application, in the web.config file, insert the line about just before
eg.
    
        ......
        
  



  
Message:  
 System.UnauthorizedAccessException: Access to the path 'H:\myCsharp\BeginningASPnet\WebMenu\WebMenuConfig_Localhost' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
Occurance:
Using ASP.Net 2.0.
Cause:
Trying to access file with improper permissions.
Solution:
If the file is to be read only, then open the file with the FileAccess.Read such as:
         new FileStream(BINconfigFile_local, FileMode.Open, FileAccess.Read));
Also change the permission of the file to ensure it has read permission.




  
Message:
Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'CBAcore.dll': This application has failed to start because the application configuration is incorrect. Reinstalling the applicatio
n may fix this problem. (Exception from HRESULT: 0x800736B1)
Occurance:
Running C# console executable that calls unmanaged code in a DLL (that has Intel Fortran subroutines), where the C# is compiled with Visual Studio 2005. Particularly, when the DLL was compiled with my work PC and the C# exe was ran from work, it was OK. But when the DLL was compiled at home, and sent to the work PC, then the DLL fails to run from the work PC. Work PC: XP SP2, VS2005 Team Suite, Intel Fortran 11.0.074 . Home PC: XP SP3, VS2005 Professional, Intel Fortran 11.0.074
Cause:
Incompatible Microsoft Visual Studio libraries. For some reason, the different editions of Visual Studio 2005 are INCOMPATIBLE.
The DLL of unmanaged code may be compiled under different optimization levels eg SSE2, SSE3, SSE4.
Solution:
Uninstall VS 2005 Pro at home and re-installed VS 2005 Team Edition for DB Professionals.
Other problems with the same message may be due to slightly different software / dll incompatibilities, but is more likely that those software are Microsoft products and the solution may be to install exactly identical products on the different machines.
Some other links to problems with the same message are:
Google: "application has failed to start because the application configuration is incorrect"
http://dotnetslackers.com/Community/forums/the-application-has-failed-to-start-because-the-application-configuration-is-incorrect-sidebyside/p/2388/28317.aspx
http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en
http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/36971526-95f3-4a9f-a601-1843c86332c1
http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/66bc8cab-c134-49a8-85e5-37ca9efbdeb4/
http://channel9.msdn.com/forums/TechOff/22266-Side-by-side-screwup/
http://forum.rigsofrods.com/index.php?PHPSESSID=2c4a4d177780f10fb45d747480582857&topic=19707.0
Another way to debug is:
1. run regmon , filemon
2. download and run vcredist_x86.exe package
3. Run the executable which failed here on another machine. Compile using the same optimization level, eg SSE3, rather than more advanced SSE4.

Message:
Setup could not verify the integrity of the file Update.inf. Make sure the Cryptographic service is running on this computer.
Occurance:
When installing Microsoft SQL Server 2008, with Visual Studio 2008 and its SP1 installed.
Cause: (see http://support.microsoft.com/kb/822798 )
This problem may occur if one or more of the following conditions are true:
Log file or database corruption exists in the %Systemroot%\System32\Catroot2 folder.
Cryptographic Services is set to disabled.
Other Windows files are corrupted or missing
Solution: (see http://support.microsoft.com/kb/822798 )
There are many solutions to the many causes, but the following worked for the above conditions:
1. Rename the Edb.log file, and then try to install the program again. To rename the Edb.log file, follow these steps:
Click Start, click Run, type cmd in the Open box, and then OK.
Note On a Windows Vista-based computer, click Start, type cmd in the Start Search text box, right-click cmd.exe, and then click Run as administrator.
At the command prompt, type the following command, and then press ENTER:
ren %systemroot%\system32\catroot2\Edb.log *.tst

For other solutions, see the Microsoft Knowledge Base above


Message:
The following error has occurred: Error 1316.A network error occurred while attempting to read from the file
............\SSCERuntime-enu.msi
Occurance:
When installing Microsoft SQL Server 2008, with Visual Studio 2008 and its SP1 installed.
Cause: (see http://support.microsoft.com/kb/970876 )
"Visual Studio 2008 SP1 and SQL Server 2008 shipped the same MSI package for SSCE runtime but with different file names. SQL Server shipped it as SSCERuntime.msi while Visual Studio 2008 SP1 shipped it as SSCERuntime-enu.msi. During the repair operation, Windows installer tries to change the name of  the MSI shipped with Visual Studio.net to the one that is shipped with SQL. Because Windows installer does not allow this, the repair operation fails with the error mentioned in the symptom section."
Solution:
To resolve this problem, follow these steps:
1. Remove Microsoft SQL Server Compact 3.5 SP1 using Add or Remove Programs feature in Control Panel. 
2. Rerun the repair operation for SQL Server 2008. After the repair operation, SQL Server Compact 3.5 SP1 is reinstalled on the system.


Message:
The following error has occurred: Upgrade Failed due to the following Error.The error code is :-2147467259.Message:Unspecified error
Occurance:
When installing Microsoft SQL Server 2008, with Visual Studio 2008 and its SP1 installed.
Cause:
If Visual Studio is installed to a non-default location on X64 machine and X64 BIDS are installed, the SQL Server setup fails.
This failure does not apply when setup runs on X86 machines or on X64 machines when the BIDS are installed in WOW mode (X86 on X64).
Solution:
See https://connect.microsoft.com/SQLServer/feedback/details/363017/sql-server-2008-rtm-upgrade-failed-due-to-the-following-error-the-error-code-is-2147467259-message-unspecified-error

1. Copy the VS file devenv.exe.config from its non-default VS install location (such as E: drive) to:
C:\Program Files(X86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config
2. Run SQL Server setup to install BIDS
3. Validate setup completes successfully without running into the issue
4. Merge/copy the file:
C:\Program Files(X86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config
back to its original non-default VS install location.


Message:
There is already an open DataReader associated with this Command which must be closed first.
Occurance:
Using SQLserver 2005,2008 and executing an SQL command in ADO.Net using SQLcommand.ExecuteReader()
Cause:
The error is due to a change in the default setting for MARs.  It used to be on by default and we changed it to off by default post RC1.  So just change your connection string to add it back (add MultipleActiveResultSets=True to connection string).
Multiple Active Result Sets (MARS) is a feature that works with SQL Server 2005 to allow the execution of multiple batches on a single connection. To access multiple result sets on previous versions of SQL Server using SqlDataReader objects, a separate SqlConnection object must be used with each SqlCommand object. However, when MARS is enabled for use with SQL Server 2005, each command object used adds a session to the connection.
Solution:
When creating the SQL connection string, add the MARS attribute such that:
string connectionString = "Data Source=MSSQL1;Initial Catalog=AdventureWorks;Integrated Security=SSPI;" +
    "MultipleActiveResultSets=True";



Message:
Could not find server '......' in sys.servers. Verify that the correct server name was
specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to
sys.servers.
Occurance:
In Microsoft SQL Server 2008 (MSSQL 2008), when trying to query a remote database.
Cause:
Although the syntax to the remote DB may be right, [server].[DB].[schema].[table], the remote server needs to be connected before it can be accessed.
Solution:
Specify a link to the remote server. This can be done by command line or using Management Studio.
i) Using command line when the remote server is also MSSQL:
   exec sp_addlinkedserver @server='', @srvproduct='SQL Server'
ii) Using command line when the remote server is not MSSQL, eg Oracle, etc, then see documentation for
the system stored procedure sp_addlinkedserver.
iii) Using SQL Management Studio, in the left panel object explorer, go to Server Objects - Linked Server.
Right click on the Linked Server and choose New Linked Server. Fill in the form to create the link to remote server.



Message:
COM object that has been separated from its underlying RCW cannot
Occurance:
Using Visual Studio 2008, and interacting with Team Foundation Server. Occurs when trying to view the properties of C# project.
*** Could also occur for various reason but not documented here.
Cause:
Some meta data got corrupted.
Solution:
Exit Visual Studio completely and restart again. The C# project property page should be viewable.
*** If the cause is some other reason, then some other solution may be required.



Message:
error #8039: The INTENT(OUT) or INTENT(INOUT) attribute is not allowed for arguments received by value.
Occurance:
Using Intel Fortran 11.x, on Windows XP and using !DEC$ directives.
*** Could also occur for various reason but not documented here.
Cause:
The cause is not directly related to the content of the message. Instead it was due to a syntax error in using
some Intel Fortran directives. An example of code is shown:
    subroutine test(a, b, c)
    !DEC$ ATTRIBUTES DLLEXPORT, STDCALL, ALIAS:'_test' :: test
    !DEC$ ATTRIBUTES REFERENCE :: a,
    !DEC$ ATTRIBUTES REFERENCE :: b,
    !DEC$ ATTRIBUTES REFERENCE :: c,
    INTEGER, INTENT(INOUT) :: a
    INTEGER, INTENT(INOUT) :: b
    INTEGER, INTENT(INOUT) :: c
    .........

The syntax error is the comma placed at the end of the !DEC$ ATTRIBUTE REFERENCE statement.
Solution:
Remove the comma at the end of the !DEC$ ATTRIBUTE REFERENCE.



Message:
error #7881: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read.
Occurance:
Using Visual Studio 2008, and compiling Intel Fortran code with IMSL functions
Cause:
IMSL function library were not compiled for the same configuration that the Fortran project is trying to compile.
Example: Mistakenly compiling for configuration (Debug-Any CPU) instead of (Debug-Win32), where the latter was defined by the user but the former is not.
The error may point to a particluar function, such as IMSL's GAMMA function. Verify to see if all the INCLUDE and LIBRARY paths are correct under the Project properties.
Solution:
If the path to the INCLUDE and LIBRARY are correct, then near the top of the Visual Studio, ensure that the Solution Configuration and Solution Platform is correct. For example this error may occur when the Platform is "Mixed Platform" rather than "Win32".



Message:
forrtl: severe (408): fort: (2): Subscript # of the array has value 1002 which is greater than the upper bound of 1000
Occurance:
Code compiled with Intel Fortran with OpenMP enabled. Error can be tracked to allocatable arrays in OpenMP loop. Occurs when compiled in Debug but not Release mode.
Cause:
Known bug with Intel Fortran compiler when compiled with OpenMP and using the /check:pointer option.
Solution:
Compile without the /check:pointer compiling switch.


Message:
Windows Cannot access the specified device, path or file. You may not have the appropriate permissions to access the item.
Occurance:
When trying to execute or run a program by double clicking it from Windows Explorer. Platform where it happened was WindowsXP, but may include other Windows system. Also notice that the filename for this program may appear in a different colour in Windows Explorer.
Cause:
The application may have been downloaded or obtained in another way that Windows thinks it may not be safe to run.
Solution:
In windows Explorer, locate the file and right click, then select Properties.
In the Properties dialog in the General tab, near the bottom, if there is a Security section with the following message:
"This file came from another computer and might be blocked to help protect this computer", then click on the Unblock button, if you want to run this file and believe that it is safe.


 Message:
error #7881: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read.   [GAMMA_INT]
    Occurance:
Compiling an Intel Fortran Project under the Microsoft Visual Studio environment. May be using IMSL
    Cause:
The error may point to a particluar function, such as IMSL's GAMMA function. Verify to see if all the INCLUDE and LIBRARY paths are correct under the Project properties.
    Solution:
If the path to the INCLUDE and LIBRARY are correct, then near the top of the Visual Studio, ensure that the Solution Configuration and Solution Platform is correct. For example this error may occur when the Platform is "Mixed Platform" rather than "Win32".


Message:
forrtl: severe(38): error during write, unit 6, file CONOUT$
Occurance:
Any application in Fortran or application that uses Fortran DLL. This includes third party packages like IMSL, MKl.
Also most likely in environment that the Fortran DLL is called from a development environment like Test environment in Visual Studio.
Cause:
The cause of this error is due to a Fortran WRITE(*,....) or PRINT * command being executed within an environment that does not allow writing output to terminal / screen. An example of such an environment would be the Test environment in Visual Studio that does not allow underlying Fortran functions to write to terminal.
Solution:
The root cause of the error may be completely different. The first step is to see which part of the FORTRAN code is trying to write to UNIT=6 which means the terminal or COMMAND window. This can be done by running the Fortran functions from the terminal via a Fortran test driver program specifically designed to call any suspect functions; ie. avoid running in mixed language or complex environments.
In a particular example, the root cause was an IMSL function error that causes IMSL to print to screen. But since the Fortran dll was run from a complex environment, the attempt to write to screen causes the CONOUT$ error.



Message:
output conversion error, unit 700 ...............
Occurance:
Fortran programs and when writing to file is involved. An error message will be thrown during execution of the program.
    Cause:
Writing a numeric (maybe characters too) value to a file where the formatted output specification for the variable is too small compared to the actual data. Although a serious looking error message is thrown during the running of the application, the application may proceed to completion. In the text file which it was writing to, there will be asterisks in place of the number which is too big to be written.
    Solution:
There are at least two solutions:
- Increase the write FORMAT length that corresponds to the variable.
- Switch off the compiler switch /check:output_conversion.


Message:
Missing XML comment for publicly visible type or member 'name'
Occurance:
Visual Studio 2008 in C# code. This appears to be a warning message and does not prevent successful compilation.
    Cause:
The message is warning the user that the class or method needs to have comments because the class or method is static. Without comments, it is difficult for users of the class or method to understand how to use it.
    Solution:
In Visual Studio, above the class or method, type '///'. This will automatically generate the comment templates to be filled in.



Message:
this kernel requires the following features not present on the CPU: pae
Occurance:
Installing some versions of Linux in Sun/Oracle Virtual Box.
    Cause:
A particular CPU setting needs to be switched on.
    Solution:
In VirtualBox settings for the guest, System/processor tick enable pae.


Message:
[ No Message ]
Occurance:
Unable to open CD Rom drive or DVD Rom drive using: pressing the button of the drive OR right click and select eject from Windows Explorer OR using a pin to poke the tiny hole in the drive.
    Cause:
The system may be holding on to the CD or DVD in the drive thinking that it is still needed, even though all associated applications are close. None of the methods mentioned above works.
    Solution:
On Windows XP, RIGHT CLICK MY COMPUTER > Manage > Right Click Computer Management > Connect to another computer > {IP ADDRESS} > ok > Removable Storage > Libraries > {CD DRIVE} > Inject / Eject



Message:
1033/mkl_msg.dll or 3081/mkl_msg.dll
Occurance:
When running a Fortran program that uses MKL library, and an error occurs, sometimes during the tracing of the error, one may find references to the above message. The mkl_msg.dll appears to be a for error messages. The subfolder which is named in numbers may refer to the language for internationalization of the error messages.
    Cause:
During debugging of a crash, one may encounter references to this dll and its path. There is usually an error somewhere, but this mkl_msg.dll looks like the program is trying to find the error messages to use.
    Solution:
No direct solution. The error is usually unrelated to references of this mkl_msg.dll. The error need to be found elsewhere.




Message:
error #5508: Declaration of routine 'xxxxxx' conflicts with a previous declaration
Occurance:
Occurs when compiling Fortran77 / fixed format type programs, where program in one file calls an external subroutine localted in another file.
    Cause:
This is a bug in the Intel Fortran compilers. The bug has been fixed in in the 11.0.075 (Windows) and 11.0.084 (Linux) updates.
    Solution:
The temporary solution without doing an upgraded of the compilers is to remove the following switches in the compiling option within Project Properties:
       /warn:interfaces   or  -warn interfaces.



Message:
Error uploading file to Amazon Cloud Drive
Occurance:
When trying to upload file from local PC to Amazon Cloud Drive via website.
    Cause:
The filenames of the files to be uploaded may contain a leading empty space.
    Solution:
Rename those files such that they don't contain leading empty spaces in their names.



Message:
error C2059: syntax error : 'string'
Occurance:
The error above occurred with Microsoft Visual C/C++ compiler under the following conditions.
- the function to be used (say foo) is located in a file in the same project as the function (say bar) which uses it.
- the project is compiled as a C++ project: Project Properties - C/C++ - Advanced - Compile As - Compile as C++ Code
    Cause:
- Specifically this happens when the extern "C" is used in the header file and the function definition also include the header file. It is not possible to remove the extern "C" because other functions that uses this function need to see the unmangled name of the function to call.

Example which would give rise to the problem above:

File demo_func.h
   double quadratic (double x, void *params) ;

File demo_func.c
   #include "demo_func.h"
   double quadratic (double x, void *params)    {
     ... blah ....
   }

File user.c
   #include "demo_func.h"
   ... blah ....
   // using quadratic()......

    Solution:
The Solution is to have TWO different header files

File demo_func.h
   double quadratic (double x, void *params) ;

File demo_func_extC.h
   extern "C" double quadratic (double x, void *params) ;

File demo_func.c
   #include "demo_func.h"
   double quadratic (double x, void *params)    {
     ... blah ....
   }

File user.c
   #include "demo_func_extC.h"
   ... blah ....
   // using quadratic()......



Message:
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
Occurance:
case 1: This can happen when an external Fortran function compiled with Intel Fortran with the calling convention
!DEC$ ATTRIBUTES DLLEXPORT, STDCALL .....
This fortran function is then called by a C or C++ program compiled with Microsoft Visual C/C++, with the calling convention Cdecl
case 2: In a complex C program when a function has arguments like this:
        int main_sf(int argc, char * argv[])
The function is compiled with MSVC C compiler but the driver function is in another MSVC project compiled with C++. But both uses the Cdecl calling convention.
    Cause:
case 1: The cause of this error is as suggested by the error message. Two different calling conventions have been used by Fortran and its C caller.
case 2: It is not clear what exactly is the problem. All C functions are compiled with the same convention. There appears to be no mixed language calls, eg to Fortran, although the driver program is compiled as C++.
Solution:
case 1: Change the calling convention of the Fortran program to C, such as:
!DEC$ ATTRIBUTES DLLEXPORT, C ........
case 2: Remove the arguments to the function and just let there be no arguments. This is only practical if the function does not make use of the argument.



Message:
fatal error RC1015: cannot open include file 'resource.'.
Occurance:
Opening a resource file in a Visual Studio project. Typically this file named Resource1.rc can be opened by double clicking when it is
found in the Solution Explorer.
    Cause:
Companion files of Resource1.rc are missing. This can typically happen when migrating projects manually
and the other Resource files are not copied.
    Solution:
Ensure the project which has Resource1.rc, would also have Resource1.aps, resource.h, resource.



Message:
adhoc: (SQL Diagnostics) STATE=08001, CODE=113, MSG=[Teradata][Unix system error]  113 Socket error - The Teradata server can't currently be reached over this network
Occurance:
Using tdxodbc to connect to Teradata database from a Linux environment.
    Cause:
A variety of causes may lead to this error message. A few of these causes include: Incorrect DSN details, not having a valid (non LDAP, non-networked, ie. local) account on Teradata.
    Solution:
1. Most corporate environment use network authentication such as LDAP to manage username and password. Users which have LDAP accounts, should login to Teradata (using Teradata SQL Assistant) and create a non-network, non-LDAP account by using the query:
   MODIFY USER <username> AS PASSWORD="<local password>"
2. Ensure the configuration file look like these:
"/etc/odbcinst.ini"
-----------------------------------------------------
[ODBC DRIVERS]
Teradata=Installed
UsageCount=3

[Teradata]
Driver=<dir>/teradata/client/ODBC_64/lib/tdata.so
APILevel=CORE
ConnectFunctions=YYY
DriverODBCVer=3.51
SQLLevel=1
UsageCount=3

[ODBC]
Trace=Yes
TraceFile=/tmp/log_odbc.txt
UsageCount=11

-----------------------------------------------------

"/etc/odbc.ini"
-----------------------------------------------------
[ODBC]
InstallDir=<dir>/teradata/client/ODBC_64
Trace=0
TraceDll=<dir>/teradata/client/ODBC_64/lib/odbctrac.so
TraceFile=<blah>/odbcusr/trace.log
TraceAutoStop=0

[ODBC Data Sources]
default=tdata.so
testdsn=tdata.so

[testdsn]
Driver=<dir>/teradata/client/ODBC_64/lib/tdata.so
Description=Teradata running Teradata V1R5.2
DBCName=<IP address (no port)>
LastUser=
Username=
Password=
Database=
DefaultDatabase=

[default]
Driver=<dir>/teradata/client/ODBC_64/lib/tdata.so
Description=Default DSN is Teradata 5100
DBCName=<IP address (no port)>
LastUser=
Username=
Password=
Database=
DefaultDatabase=
-----------------------------------------------------


Message:
< NO MESSAGE >
Occurance:
Matlab installation fails. Typically after choosing licence file and proceeding to finish the installation, the installation stops and disappears. No error messages. No clues. Nothing. Installation does not complete.
    Cause:
This is likely due to an incompatibility with Oracle (formerly Passlogix) Enterprise-Single-Sign-On software installed on your computer. This error message is not generated by MATLAB. The error is generated by the Passlogix WindowScanner object, which throws an unhandled exception after a failed attempt to grab (for unknown reasons) a handle to a MATLAB window.
    Solution:
Please locate the following files in your Passlogix installation directory and rename them such that the all have file extensions of sso. SSO Java extensions files:
   ssoJHO.dll
   jaccess.jar
   jho.jar
These files tend to be located in different directories, depending on your Passlogix install, and therefore, the only suggestion I can make is to look in C:\Program Files\Passlogix
You will have to rename them so they look as the following:
   ssoJHO.sso
   jaccess.sso
   jho.sso


Message:
LINK : fatal error LNK1104: cannot open file '.....'
Occurance:
On Visual Studio 2010 or other versions. When compiling a project and all the files compiled but failed at the very last linking stage.
Looks like it is at the stage of writing to the manifest. Also looks like it is looking for the file that it is supposed to build at this stage. This project may have been compiled perfectly before.
    Cause:
Antispyware or other security product preventing MS Visual Studio Linker or mt.exe to run. This causes the final product *.exe or *.dll not able to be produced.
    Solution:
Ensure no security software is hindering MS Visual Studio during compilation.


Message:
forrtl: severe (29): file not found, unit 9980,
Occurrance:
Using Intel Fortran, with Visual Studio Debugging, doing open / close and I/O read / write to file from main program as well as within Fortran dll.
Cause:
Ref: http://software.intel.com/en-us/forums/topic/272906
The fortran dll and the fortran main program are compiled using different runtimes.
Solution:
Use the same runtime for both the dll and main program such as:
   Debug Multithreaded DLL or /libs:dll /threads /dbglibs
The runtime libraries can be changed in Visual Studio by right click on the project in Solution Explorer, Then click Fortran - Libraries - Runtime Library and choose the same Runtime Libraries.


Message:
Unhandled Exception .... Illegal Instruction
Unhandled Exception .... Access Violation
Occurance:
In any code in Fortran or C++, in the Visual Studio environment.
Cause:
There are many causes that can give rise to these generic error messages. So this section is not about the cause, but rather a list of potential solution will be given.
Solution:
- Check Code Generation - Intel Processor Specific Optimization - Change to one level lower if crashes.
- Check Runtime Library from Projects - C/C++ - Code Generation. All projects that need each other need to be compiled with the same Microsoft Runtime Libraries, eg Multithreaded DLL or Multithreaded Debug DLL, etc...
- Check Stack Reserve Size
- Check Preprocessors definitions are correct.


Message:
Error in data.frame(value, row.names = rn, check.names = FALSE, check.rows = FALSE) :
  row.names should specify one of the variables
Occurance:
In R programming, when making use of elements from a data.frame object.
Example - if aaa is a data frame of [0.02,  10]
then using the elements like: aaa[1]*aaa[2]
will cause the error
Cause:
The elements in the data.frame is still a data.frame itself. So the data.frame objects cannot be used to perform mathematical calculations.
Solution:
The solution is undata.frame it. This can be done using unlist():
Example:
bbb <- unlist(aaa)
now it is OK to do
    bbb[1]*bbb[2]



Message:
... Application Data not Accessible ....
Occurance:
On Windows 7, even the user is Administrator and looking into his own Users folder, some folders are not accessible.
Cause:
It is mentioned in various forums that, these folders are just Junction Points and are not real folders.
Solution:
No solution required, this is not a real problem, since those are not real folders.


Message:

Occurance:
Cause:
Solution:


Message:

Occurance:
Cause:
Solution: