Troubleshooting

Home ] What's New ] [ Overview ] Registration ] Download ADIC ] Getting Started ] Troubleshooting ] FAQ ] Suggestions ] Discussion ] People ]

If you're experiencing a problem with ADIC software, please submit your bug report to our Bugzilla-based bug-tracking system. You may also want to check out our list of known problems.

If what you want to tell us is really more of a suggestion or a request for enhancement, please use our suggestion form instead.

Known Problems

The following is a list of some known problems with ADIC version 1.1, beta 4; we are working to correct them for the next release.

Problem Workaround

ADIC crashes when processing files that include certain system headers (stdarg.h, vararg.h, libio.h) and gcc versions 2.96 or 3.x are used for the preprocessing step (the preprocessor command is in the $ADIC/adic.init.$ADIC_ARCH file).

Make sure that files processed by ADIC do not include the non-portable gcc system headers (i.e., headers that contain __builtin directives) or other headers that include them.
ADIC locks up when two or more files are being processed simultaneously (including files specified in a control script); for example: adiC -vd gradient func1.c func2.c Run ADIC with one file at a time; do not specify sources in a control script; for example: adiC -vd gradient func1.c; adiC -vd gradient func2.c
Perl error messages when running adiC (e.g., included packages not found). If $ADIC/bin/$ADIC_ARCH/perl exists, delete it or move it to a directory that is not on the path.
ADIC crashes when a program uses drand48 or similar system calls that return doubles. Please email adic@mcs.anl.gov for suggestions on workarounds for your specific problem.
An implicit typecast from an int to a float or double after a mod (%) operation causes ADIC to crash (e.g., d = i % 2 where i is an int and d is a double).  Use an explicit typecast, e.g., d = (double)(i % 2).
ADIC crashes when the source code includes a struct containing a comma-separated list of function pointers (example). Use explicit return types for each function pointer declaration (example).
On some platforms (Linux, RS6000), ADIC crashes with a segmentation fault or an "illegal instruction" error message on exit. This does not affect the correctness of the differentiated code. Make sure the value of the ADIC environment variable is longer than 20 characters. If necessary, use symbolic links to shorten the path.
Certain C++ features are not working. No workaraound at present.
Back to Top

[FrontPage Save Results Component]
  1. What version of the software are you using?


  2. What operating system are you using?
    Other:

  3. Please enter a brief one-line description of the problem:

    (example: "ADIC doesn't run on my system.")

  4. General bug description:

    (example: the library is not compiling because it does not xxx.)

    If ADIC is not producing the correct derivative code, please put the source file (or snippets thereof) here:

    (note: it is much easier for us to fix bugs with a real input code)

  5. If the problem causes any error messages to appear, please write down or copy the exact text displayed and enter it here:


  6. Please provide us with the following information in case we need to contact you:
    Name:    
    E-mail:             

We may need to contact you for more information, such as if we have trouble reproducing the problem you describe.

Back to Top
-->

Questions regarding ADIC should be directed to adic@mcs.anl.gov.
Questions or problems regarding this web site should be directed to adic@mcs.anl.gov.
Copyright 2000 University of Chicago, operator of Argonne National Laboratory. All rights reserved.
Last modified: Wednesday April 28, 2004.