internal error: write_name_entry_to_file: inconsistant numb

Hi

I get weird errors with pgc++ 17.1 (and before) for apparent simple lines of code (in a somewhat complex template scenario).
The CXXFLAGS are “-g -O0 --std=c++11”

internal error:
write_name_entry_to_file: inconsistant number of debug entries

RowType v[sm_];
Compilation aborted.
pgc+±Fatal-/home/sysdata_shared/sfw/pgi/17.1/linux86-64/17.1/bin/pggpp1 TERMINATED by signal 6



internal error:
write_name_entry_to_file: inconsistant number of debug entries

DT_ invert_matrix(const IT_ n, const IT_ stride, DT_ a, IT_ p)

Does anyone know the Reason for this errors?
It seems to be related to the array syntax etc.
At least i can overcome the error if i replace “DT_ a” by “DT_* a” but i do not know a simple replacement for RowType v[sm_]; and to be honest, this seems to be reather legit c++ syntax.

Thanks in advance
Dirk

PS: It seems to help to compile without the “-g” flag.

The error message suggests -g is the issue.

If you can and would like to send the source that creates this problem,
we would be able to determine what caused the problem and fix it.

But we have a problem, TPR 22784 that indicates the problem is that
confusing line numbers are being generated when -g is set with pgc++ --std=c++11 . This may be the same problem you have.

if you wish to send the problem source, send it to trs@pgroup.com

dave

Hi Dave

Thank you for your quick response.
Removing -g/-gopt from the CXXFLAGS does indeed prevent the error.

Unfortunately i am not allowed to send you the code nor was i successfull in creating a simple repro case. In all ‘smaller’ cases the files in question compiles without an error.

For me its fine to go without the -g flag.
I’m more than happy, that the 17.1 does compile my code at all :)

Dirk

Hi,

We have the same problem for compiling recent version of VTK (Kitware’s Visualization Tool Kit) in Debug mode.
See PGI compiler support (#17240) · Issues · VTK / VTK · GitLab

Problem appears when compiling some functions like:

 void vtkDataArray::GetDataTypeRange(int type, double range[2])

Replacing range[2] by *range looks to solve the problem but there are many places that would require to be updated for no good reason.

Hope to see a patch soon,

Thanks,
J

The most current Professional/Community
edition is 17.10. I would suggest you download the community if you do not have a current license, and see if the problems you found in 17.1
still persist (since you can’t send the code).

We will check out the VTK issues, after we get the 18.1 release out.

dave

Sry for the late reply:

The error still persists with -g active and pgi 18.7

Hi DirkR,

Unfortunately without a reproducing example, it’s difficult to determine the cause of the error.

Though, I’m wondering if the error occurs with our LLVM compilers? Can you please try adding the flag “-Mllvm”?

Thanks,
Mat

Hi

Thanks for your quick reply.

Yes, the error occurs with the -Mllvm flag, too.
I’ve tried to create a small repro example (again) this morning but was unable to do so.
The error seems to only occur when building the complete application which i’m unfortunately not allowed to give away.

Luckily the code works when omitting the -g flag, so it is not that bad for me :)

I will give an update when i got a working repo case or a compiler update fixes the problem on its own.

Thanks
Dirk

Thanks Dirk. Please keep us posted.

We have encountered the same problem and we are using PGI 18.10.
So we are wondering if the bug by any chance is fixed in this latest PGI 18.10 version?

Thanks
Sunita

Hi Sunita,

Since we didn’t get a reproducer, I wasn’t able to file a bug report. It’s possible we did fix the issue in 18.10 if we encountered the error in our internal testing or it came in from a different user, but I doubt it.

Can you send me a reproducing example?

Thanks,
Mat

Hi Mat,

I got a similar error with version 19.4 and compiling with the debug option debug,lineinfo,keep together with the -gopt option. Without the -gopt option it seems to work fine.

internal error: write_name_entry_to_file:  inconsistant number of
          debug entries 
      int indexGlob[2] = {0,_structure->numberOfLayers-1};

If I use a vector instead of the array it works but then I got the following error:

"/depotbld/RHEL6.6/gcc-7.3.0/include/c++/7.3.0/ext/aligned_buffer.h", line 54:
          internal error: write_name_entry_to_file:  inconsistant number of
          debug entries 
        alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];

Unfortunately, I was not able to reproduce the error by setting up a small toy example, sorry.

Is there an update on this issue?

Thanks,
Regards,
Reto

Hi Reto,

We did have one other application that encountering this issue and for that application, we’ll have a fix in the upcoming 19.10 release.

In this case the problem was for very large C++ source file, the debug info was overflowing an internal data structure. Not sure it’s the same error you’re seeing, but please try 19.10 once it’s available (very soon).

-Mat

Hi Mat,

I just compiled the code with 19.10 and it seems the error vanished.

Many thanks.
Regards,
Reto

Good, glad to it’s working now.

-Mat