Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

(RESOLVED) Error in calc_ecmwf_p.exe - free(): invalid next size (normal)

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


Hi all,

I recently posted this issue to the github page but was advised that this may be a more appropriate place for it.

got a consistent issue with calc_ecmwf_p.exe. Below is the output with the error in.

Any advise on potential causes for this would be appreciated.

I've had two other occurrences when PRES files are just not produced at all.

I've also attached files that can reproduce the issue. Let me know if there is anything else anyone can need.

Thanks in advance.

Found LOGSFP field in FILE:2014-01-31_23
Reading from FILE at time 2014-02-01_00
Found SOILHGT field in FILE:2014-02-01_00
Found LOGSFP field in FILE:2014-02-01_00
*** Error in `./util/calc_ecmwf_p.exe': free(): invalid next size (normal): 0x000000000284c250 ***
======= Backtrace: =========
======= Memory map: ========
00400000-0041b000 r-xp 00000000 00:2e 3056139                            /wrf_host/WPS/util/src/calc_ecmwf_p.exe
0061a000-0061b000 r--p 0001a000 00:2e 3056139                            /wrf_host/WPS/util/src/calc_ecmwf_p.exe
0061b000-0061c000 rw-p 0001b000 00:2e 3056139                            /wrf_host/WPS/util/src/calc_ecmwf_p.exe
0061c000-00629000 rw-p 00000000 00:00 0 
006c4000-0301c000 rw-p 00000000 00:00 0                                  [heap]
7f8bcc000000-7f8bcc021000 rw-p 00000000 00:00 0 
7f8bcc021000-7f8bd0000000 ---p 00000000 00:00 0 
7f8bd2343000-7f8bd2505000 r-xp 00000000 fd:00 36084766                   /usr/lib64/
7f8bd2505000-7f8bd2705000 ---p 001c2000 fd:00 36084766                   /usr/lib64/
7f8bd2705000-7f8bd2709000 r--p 001c2000 fd:00 36084766                   /usr/lib64/
7f8bd2709000-7f8bd270b000 rw-p 001c6000 fd:00 36084766                   /usr/lib64/
7f8bd270b000-7f8bd2710000 rw-p 00000000 00:00 0 
7f8bd2710000-7f8bd274b000 r-xp 00000000 fd:00 36367452                   /usr/lib64/
7f8bd274b000-7f8bd294a000 ---p 0003b000 fd:00 36367452                   /usr/lib64/
7f8bd294a000-7f8bd294b000 r--p 0003a000 fd:00 36367452                   /usr/lib64/
7f8bd294b000-7f8bd294c000 rw-p 0003b000 fd:00 36367452                   /usr/lib64/
7f8bd294c000-7f8bd2961000 r-xp 00000000 fd:00 36084773                   /usr/lib64/
7f8bd2961000-7f8bd2b60000 ---p 00015000 fd:00 36084773                   /usr/lib64/
7f8bd2b60000-7f8bd2b61000 r--p 00014000 fd:00 36084773                   /usr/lib64/
7f8bd2b61000-7f8bd2b62000 rw-p 00015000 fd:00 36084773                   /usr/lib64/
7f8bd2b62000-7f8bd2c63000 r-xp 00000000 fd:00 36084795                   /usr/lib64/
7f8bd2c63000-7f8bd2e62000 ---p 00101000 fd:00 36084795                   /usr/lib64/
7f8bd2e62000-7f8bd2e63000 r--p 00100000 fd:00 36084795                   /usr/lib64/
7f8bd2e63000-7f8bd2e64000 rw-p 00101000 fd:00 36084795                   /usr/lib64/
7f8bd2e64000-7f8bd2f83000 r-xp 00000000 fd:00 36367421                   /usr/lib64/
7f8bd2f83000-7f8bd3183000 ---p 0011f000 fd:00 36367421                   /usr/lib64/
7f8bd3183000-7f8bd3184000 r--p 0011f000 fd:00 36367421                   /usr/lib64/
7f8bd3184000-7f8bd3186000 rw-p 00120000 fd:00 36367421                   /usr/lib64/
7f8bd3186000-7f8bd31a8000 r-xp 00000000 fd:00 36084761                   /usr/lib64/
7f8bd339b000-7f8bd33a0000 rw-p 00000000 00:00 0 
7f8bd33a2000-7f8bd33a7000 rw-p 00000000 00:00 0 
7f8bd33a7000-7f8bd33a8000 r--p 00021000 fd:00 36084761                   /usr/lib64/
7f8bd33a8000-7f8bd33a9000 rw-p 00022000 fd:00 36084761                   /usr/lib64/
7f8bd33a9000-7f8bd33aa000 rw-p 00000000 00:00 0 
7ffdecd8d000-7ffdecdae000 rw-p 00000000 00:00 0                          [stack]
7ffdecdbf000-7ffdecdc1000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Program received signal SIGABRT: Process abort signal.

Backtrace for this error:
#0  0x7F8BD2E7D697
#1  0x7F8BD2E7DCDE
#2  0x7F8BD237927F
#3  0x7F8BD2379207
#4  0x7F8BD237A8F7
#5  0x7F8BD23BBD26
#6  0x7F8BD23C4488
#7  0x40620A in MAIN__ at calc_ecmwf_p.f90:?
Aborted (core dumped)


    83.3 MB · Views: 42
I have found that I'm able to get a similar error when I'm using a GNU compiler, but not with Intel. I'm curious which compiler you are using, and which version of WPS you're using.
I believe the problem may be that you don't have any surface pressure (PSFC) data in your intermediate files (FILE). In order for the calc_ecmwf program to work, in addition to the list of coefficients provided by the ecmwf_coeffs file, the program must also find a PSFC field in your intermediate files. I'm not sure why this causes a segmentation fault when using GNU, versus finishing (without the proper fields found in the new PRES* files) when using Intel, but I believe this is likely the root of the problem, nonetheless. Can you try to obtain PSFC data for your files and see if that makes any difference?