Menu

#32 VA CMP can show too many traces

v1.0 (example)
closed
nobody
None
5
2024-06-28
2013-01-27
seismick
No

This bug only occurs if built with x86_64_intel91_mpich2
If you load the CMP traces created by SVA, there is an error alert

CMP:
You have attempted to read traces
before of after the your file or the file
cannot be found or opened

Then all gathers are displayed instead of one. In the display parameters, the number of traces is correct.
If you advance to the next location, then only 2 traces appear for the CMP. If you go back to the first location
then the first gather is displayed with correct number of traces. Advance right again, and only 2 trace
appear in the other gathers.

Discussion

  • seismick

    seismick - 2013-01-27

    One more problem with this platform - if the CMP gathers are high-fold and has many traces,
    then when advancing to the next analysis location, VA will crash.
    If launched from console window (not CFE), there is an error message:

    You do not have enough memory on your server for this image.

     
  • seismick

    seismick - 2016-09-02

    The error messages come from check_size.cc
    I found that _user->getNumberToSkip() and _user->getNumberToPlot() return very
    large numbers. These are long integers. On closer inspection, these have these
    have the correct value in the low-order 32 bits, but some other number has
    been poked into the high-order half.

    _user->getNumberToPlot() returns a variable _nplt. It goes bad in
    function VaCmpGui::setParameters in va_comp_gui.cc when
    setNPlt(_cmptp) is used. Variable _cmptp is in the CMP display parameters
    menu, along with _cmpft and _cmpnskp. These 3 appear correct in the menu,
    but garbage is passed back to code in va_comp_gui.cc. The other
    variables in the display parameters menu are type float and are valid.

    The problem is in the VaCmpGui constructor where CmpText[] is defined.
    _cmptp, _cmpft and _cmpnskp are type long, but SLType_int is specified.
    So change it to SLType_long instead like so:

    static SLText CmpText[] =
    {
    { "cmpft", NULL, NULL, SLType_long, CMPft },
    { "cmpnskp", NULL, NULL, SLType_long, CMPnskp },
    { "cmptp", NULL, NULL, SLType_long, CMPtp },
    };

    Then va compiled with Intel 64-bit goes okay.
    64-bit gfortran build did not suffer from the bug, and still works
    okay with above patch.

     
  • seismick

    seismick - 2024-06-28
    • status: open --> closed
    • Group: --> v1.0 (example)
     

Log in to post a comment.

MongoDB Logo MongoDB