Opened 13 years ago
Closed 13 years ago
#296 closed task (wontfix)
ropp_pp_occ_tool segfaults
| Reported by: | krl | Owned by: | Ian Culverwell | 
|---|---|---|---|
| Priority: | minor | Milestone: | 6.1 | 
| Component: | ropp_pp | Version: | 6.0 | 
| Keywords: | Cc: | 
Description
Hi
I some cases the ropp_pp_occ_tool segfaults. It is due to bad input data but in this case it segfaults after the ropp_pp_preprocess. It would be nice is the program failed with a non-zero exit code, if it is possible. I've asked around and the exit function does not seem to be part of the Fortran standard.
----------------------------------------------------------------------
               ROPP Occultation Pre-processor Tool
----------------------------------------------------------------------
INFO:  Reading configuration file /home/krl/rpp_test/cosmic_pp_dmi.cf.
INFO:  Processing profile    1 of      1
INFO:  Reading input data file /home/krl/rpp_test/occ_20091104_191624_C003_G023_0082_P_XXXX.nc.
INFO:  (OC_20091104191624_C003_G023_UCAR) 
INFO (from ropp_pp_preprocess):  COSMIC data preprocessing
INFO (from ropp_pp_preprocess):  Reading lost carrier flag data from input file
INFO (from ropp_pp_preprocess):  Reading external NDM data from file /home/krl/rpp_test/gpsBit_C003.2009.308.19.18.G23_2010.2640_txt
INFO (from ropp_pp_preprocess):  COSMIC data: openloop preprocessing
 
WARNING (from ropp_pp_bending_angle_go):  Filter width larger than data array size - will not process
 
WARNING (from ropp_pp_bending_angle_go):  Error: data unusable [L2 amplitude]
INFO (from ropp_pp_bending_angle_go):  Writing additional diagnostic output 
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC        Routine            Line        Source             
ropp_pp_occ_tool   08152F4E  ropp_io_addvar_vl         237  ropp_io_addvar.f90
ropp_pp_occ_tool   0815292A  ropp_io_addvar_ro         121  ropp_io_addvar.f90
ropp_pp_occ_tool   08050F82  MAIN__                    844  ropp_pp_occ_tool.f90
ropp_pp_occ_tool   08049B31  Unknown               Unknown  Unknown
libc.so.6          B76FCBD6  Unknown               Unknown  Unknown
ropp_pp_occ_tool   08049A91  Unknown               Unknown  Unknown
      Attachments (1)
Change history (5)
by , 13 years ago
| Attachment: | ropp_pp_occ_tool_test.tar.gz added | 
|---|
comment:1 by , 13 years ago
The ropp_pp_occ_tool in the tar-ball is compiled with debug flags. The command line is included in the tar-ball.
comment:2 by , 13 years ago
Couldn't reproduce error. Asked Rune for some help on 11/12/2012:
Hi Rune, I was looking at this ticket about error codes from ROPP. I have been unable to reproduce the segmentation violation that you saw. I can't run the executable you provided, because I didn't have some library installed: ropp_pp_occ_tool_test/ropp_pp_occ_tool: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ropp_pp_occ_tool_test/ropp_pp_occ_tool) However, I did have an old ropp_pp_occ_tool, built for a 32-bit linux machine, as yours was. That failed because of "Error: data unusable [L2 amplitude]" , as yours did, but it didn't have a segmentation fault. Ditto for a version built on a 64-bit machine. So I don't know how to proceed. I notice that your program must include some DMI add-ons, because mine complained about WARNING (from ropp_pp_read_config): Unknown configuration item: output_lev1a - skipping. WARNING (from ropp_pp_read_config): Unknown configuration item: output_lev1b - skipping. WARNING (from ropp_pp_read_config): Unknown configuration item: output_lev2a - skipping. while yours apprently did not. Could the error be associated with those changes? Can you get the same thing with a "vanilla" ROPP? Regards, Ian. PS: Incidentally, the r/v_leo/gns valid_ranges are incorrect in your input file. This causes the latest version of ropp_io_rangecheck to reject data, as it does a more sophisticated check on |r_leo/gns|, using these numbers. You need to reduce them all by a factor of 1000.
This was followed up with:
Actually, one thing did come to mind. I think your code fell over while trying to generate extra data. There were some changes to this structure, to include the "weight" of the data in the statistical optimisation - see ROPP ticket 255 for details. Are you sure your code is up-to-date in this respect? You should see lots of references to diag%wt_data. Getting a mismatch here could easily cause a seg fault. Ian.
comment:3 by , 13 years ago
| Owner: | set to | 
|---|---|
| Status: | new → assigned | 
comment:4 by , 13 years ago
| Resolution: | → wontfix | 
|---|---|
| Status: | assigned → closed | 
No reply in two months so closing ticket.
  Note:
 See   TracTickets
 for help on using tickets.
    
Executable tool (i386), input files and commanline