Problems: Difference between revisions

696 bytes added ,  18 June 2011
Line 6: Line 6:


If it crashes for the second reason, there are four things to try/consider:
If it crashes for the second reason, there are four things to try/consider:
* increase the stack limit of your shell, e.g. (if using csh or tcsh) with  
 
=== huge frames leading to overflow of the shell's stack limit ===
 
Increase the stack limit of your shell, e.g. (if using csh or tcsh) with  
  limit stacksize 102400  
  limit stacksize 102400  
or (in case of bash)
or (in case of bash)
  ulimit -s 102400  
  ulimit -s 102400  
The numbers above mean a 10-fold increase over the default, and should be enough. I've found this to be necessary for unusually large frames (32 MB).
The numbers above mean a 10-fold increase over the default, and should be enough. I've found this to be necessary for unusually large frames (32 MB).
* if you used xds when it crashes, try xds_par, and ''vice versa''. xds_par uses OpenMP for parallelization, which adds complexity. If it works with xds, bot not with xds_par, then the XDS developers would like to learn about this.
xds_par in this case also might need an increase of the environment variable OMP_STACKSIZE (e.g. "setenv OMP_STACKSIZE 128M").
* if the error message is  
 
=== Problems with OpenMP ===
 
If the "xds_par" binary crashed, try "xds". xds_par uses OpenMP for parallelization, which adds complexity. If it works with xds, but not with xds_par, then there is a chance that some environment variable needs to be set/changed. In any case the XDS developers would like to learn about this.
 
=== 64bit binary on a 32 bit operating system ===
 
If the error message is e.g.
  xds: Exec format error. Wrong Architecture.
  xds: Exec format error. Wrong Architecture.
or
or
  -bash: /usr/local/bin/xds: cannot execute binary file
  -bash: /usr/local/bin/xds: cannot execute binary file
make sure to use the 32bit version of XDS instead - you were trying to run the 64bit version on a 32bit operating system.
make sure to use the 32bit version of XDS instead - you try to run the 64bit version on a 32bit operating system; this won't work.
* if the error message is
 
=== CPU without SSE2 support ===
 
If the error message is


  forrtl: severe (168): Program Exception - illegal instruction
  forrtl: severe (168): Program Exception - illegal instruction
Line 24: Line 37:
  xds                0804B3F6  Unknown              Unknown  Unknown
  xds                0804B3F6  Unknown              Unknown  Unknown


this means that unfortunately the CPU of your machine is too old to be supported by XDS. This may happen e.g. with old AMD CPUs that don't support SSE2 (on Linux check the ''flags'' field of /proc/cpuinfo for the presence of the sse2 flag). Please find a newer machine - AMD is perfectly fine, but just not the oldest ones.
this means that unfortunately the CPU of your machine is too old to be supported by XDS (which in this respect is compiled with the default options of the ifort compiler). This may happen e.g. with old AMD CPUs that don't support SSE2 (on Linux check the ''flags'' field of /proc/cpuinfo for the presence of the sse2 flag).
 
According to [http://en.wikipedia.org/wiki/SSE2#Notable_IA-32_CPUs_not_supporting_SSE2] the following CPUs implemented IA-32 after SSE2 was introduced (2001), but did not implement SSE2:
* AMD CPUs prior to Athlon 64, including all Socket A-based CPUs
* Intel CPUs prior to Pentium 4
* VIA C3
* Transmeta Crusoe


== Indexing failures ==
== Indexing failures ==
2,684

edits