=== Frequently Asked Questions about Help === ==== I'm having trouble with my configuration ==== * The IPP program ppConfigDump is useful for seeing your configuration as the code sees it. Run it as you would the binary that's giving you trouble, removing those command-line arguments that are specific to it, but keeping the general arguments: * -recipe SOURCE TARGET * -D KEY VALUE * -Db KEY VALUE * -Di KEY VALUE * -Df KEY VALUE * -ipprc FILE * -camera CAMERA * -F OLD NEW * Also keep a representative input file (from which the camera type and format can be determined by the program; this then triggers the recipe overrides), and feed it to ppConfigDump with the -file flag. * If you can't see anything wrong with the configuration, you can dump the user configuration (ppConfigDump -file INPUT.fits -dump-user my_config.mdc) and send it to someone who can run using your configuration by specifying it with the -ipprc his_config.mdc command-line argument to an IPP binary. * Dumping the recipe (e.g., ppConfigDump -file INPUT.fits -recipe PPIMAGE PPIMAGE_SOMETHING -dump-recipe PPIMAGE my_ppImage.mdc) can be useful to see why some change isn't being seen by the program.
Pan-STARRS IPP configuration dumper
 
Usage: ppConfigDump [-file INPUT.fits] [-dump-site FILE.mdc]
       [-dump-camera FILE.mdc] [-dump-format FILE.mdc] [-dump-recipes FILE.mdc]
       [-dump-recipe RECIPE FILE.mdc]
 
       FILE.mdc may be "-", in which case the file is written to stdout.
 
Optional arguments, with default values:
  -file          ()      FITS file to use for camera determination
  -dump-user     ()      Filename for user configuration
  -dump-site     ()      Filename for site configuration
  -dump-system   ()      Filename for system configuration
  -dump-camera   ()      Filename for camera configuration
  -dump-format   ()      Filename for camera format
  -dump-recipes  ()      Filename for recipes
  -dump-recipe   ()      Name of recipe
                 ()      Filename
==== I've got a segmentation violation or bus error ==== * You should never see these, so this is may be a major programming bug. They are caused by trying to read memory that shouldn't be read (segmentation violations are often caused by "dereferencing a NULL pointer"). * These can occur due to problems with dynamically linked libraries, e.g., if something changed in one library that didn't have a corresponding change in a dependent library, Bad Things can happen. To rule out this possibility, rebuild everything from scratch, and re-run. * If the problem is still present, you should send the [wiki:#How_do_I_generate_a_backtrace? backtrace] to the IPP developers. ==== How do I generate a backtrace? ==== * If you have a core dump (typically named something like core.12345, or just core), then do:
% gdb programName core.12345
(gdb) backtrace full
* You may not get a core dump if your resource limits are set to prohibit them. To turn on core dumps, do:
% limit coredumpsize unlimited   # tcsh
% ulimit -c ulimited             # bash
* To produce a backtrace without a core dump, run the program under gdb, e.g.:
% gdb pxinject
(gdb) run -newExp -tmp_exp_name simtest. 
005.003 -tmp_inst /Users/tgrav/Work/Software/IPP/ipp-2.6.1-darwin/ 
default.darwin/share/ippconfig/simtest/camera.config -tmp_telescope / 
Users/tgrav/Work/Software/IPP/ipp-2.6.1-darwin/default.darwin/share/ 
ippconfig/simtest/camera.config -workdir /Users/tgrav/Work/ 
Observations/IPP/SIM/work -dvodb /Users/tgrav/Work/Observations/IPP/ 
SIM/DVO -tess_id /Users/tgrav/Work/Observations/IPP/SIM/TESS -label  
wait -dbname ippTest001 -trace pastro 10
...
Bus error
(gdb) backtrace full