=== 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