<div dir="ltr">Dear Wei-keng and Rob,<div><br></div><div>My default options did not include -g flag, so the coredump was quite un-useful ;(<br><div><br></div><div>I did the catchsegv thing... Here is the output:</div><div><br></div><div>$> catchsegv ./nctst ./<a href="http://testfile.nc" target="_blank">testfile.nc</a></div><div><div>ncmpi_inq_typeids not implemented</div><div>*** Segmentation fault</div><div>Register dump:</div><div><br></div><div> RAX: 00002b61bec50000 RBX: 00002b61bec50000 RCX: 000000000000000c</div><div> RDX: 0000000000000000 RSI: 00002b61bec50000 RDI: 00007fff5e677fa0</div><div> RBP: 00007fff5e677fa0 R8 : 0000000000e79b60 R9 : 00000000000000f0</div><div> R10: 00007fff5e677d70 R11: 00002b61be9e1560 R12: 00007fff5e6780e0</div><div> R13: 00007fff5e678920 R14: 000000000000004c R15: 00007fff5e677fa0</div><div> RSP: 00007fff5e677f60</div><div><br></div><div> RIP: 00002b61be9e0e79 EFLAGS: 00010206</div><div><br></div><div> CS: 0033 FS: 0000 GS: 0000</div><div><br></div><div> Trap: 0000000e Error: 00000005 OldMask: 00000000 CR2: ffffffe8</div><div><br></div><div> FPUCW: 0000037f FPUSW: 00000000 TAG: 00002b61</div><div> RIP: bf8f7fff RDP: 5e677ff0</div><div><br></div><div> ST(0) 0000 0000000000000033 ST(1) 0000 000000000000000d</div><div> ST(2) 0000 0000000000c80000 ST(3) 0000 0000000000000640</div><div> ST(4) 0000 0000000000000000 ST(5) 0000 0000000000000000</div><div> ST(6) 0000 0000000000000000 ST(7) 8000 8000000000000000</div><div> mxcsr: 9fe0</div><div> XMM0: 00000000000000000000000000000000 XMM1: 00000000000000000000000000000000</div><div> XMM2: 00000000000000000000000000000000 XMM3: 00000000000000000000000000000000</div><div> XMM4: 00000000000000000000000000000000 XMM5: 00000000000000000000000000000000</div><div> XMM6: 00000000000000000000000000000000 XMM7: 00000000000000000000000000000000</div><div> XMM8: 00000000000000000000000000000000 XMM9: 00000000000000000000000000000000</div><div> XMM10: 00000000000000000000000000000000 XMM11: 00000000000000000000000000000000</div><div> XMM12: 00000000000000000000000000000000 XMM13: 00000000000000000000000000000000</div><div> XMM14: 00000000000000000000000000000000 XMM15: 00000000000000000000000000000000</div><div><br></div><div>Backtrace:</div><div>/zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZNSo6sentryC2ERSo+0x19)[0x2b61be9e0e79]</div><div>/zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l+0x29)[0x2b61be9e1589]</div><div>/zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc+0x27)[0x2b61be9e19e7]</div><div>??:0(_Z3genRKP19ompi_communicator_tPKcN7PnetCDF9NcmpiFile10FileFormatE)[0x40d4a5]</div><div>??:0(main)[0x409f60]</div><div>/lib64/libc.so.6(__libc_start_main+0xfd)[0x2b61bf0a5d5d]</div><div>??:0(_start)[0x409cb9]</div></div><div><br></div><div><br></div><div>Where I think the top line is pretty self-explanatory ;)</div></div><div>And looking at the code, it makes sense, whether it should be called at all is another matter... </div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-06-01 18:25 GMT+02:00 Wei-keng Liao <span dir="ltr"><<a href="mailto:wkliao@eecs.northwestern.edu" target="_blank">wkliao@eecs.northwestern.edu</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, Nick,<br>
<br>
To print the trace of a segmentation fault is easy. You can run command<br>
"gdb corefile" and when at the gdb prompt, type command "where".<br>
If you can send me the printout, it will be helpful.<br>
<br>
Just to clarify, if gcc 5.1.0 is used, are you saying there is no problem of building PnetCDF?<br>
Can you tell me the configure command line you used?<br>
<span class="HOEnZb"><font color="#888888"><br>
Wei-keng<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Jun 1, 2015, at 11:11 AM, Nick Papior Andersen wrote:<br>
<br>
><br>
><br>
> 2015-06-01 17:09 GMT+02:00 Wei-keng Liao <<a href="mailto:wkliao@eecs.northwestern.edu">wkliao@eecs.northwestern.edu</a>>:<br>
> Hi, Nick<br>
><br>
> Your fix for the first bug makes all sense. I will add that to PnetCDF. Thanks.<br>
><br>
> As for the second error, can you use gdb to print the location of the segmentation fault?<br>
> I haven't done that. I would rather not go that path? I ain't an avid user of gdb (yet).<br>
> Also, do both errors happen to Intel C compiler?<br>
> It is only the intel cxx compiler. I only show the gcc version as intel uses that for compatibility issues. (see -gcc-name)<br>
> I thought that this could be problem... Maybe it isn't.<br>
><br>
> The two C compilers you used are the latest ones. I have not tried them.<br>
> Could you compile/run a simple C++ program to see if gcc works in your environment?<br>
> Or, if you installed gcc from source, have you tried run "make -k check"?<br>
> See <a href="https://gcc.gnu.org/install/test.html" target="_blank">https://gcc.gnu.org/install/test.html</a><br>
><br>
> Gcc/g++ runs fine. I can compile 20 other different libraries with full support. If anything, it is related to the intel compiler. :(<br>
> If you do not need C++ component, you can build a PnetCDF without it, by adding option<br>
> "--disable-cxx" to the configure command.<br>
> This is already my diverting methodology :) Thanks.<br>
><br>
> By the way, I plan to release 1.6.1 today, but it will not fix the second error you are seeing.<br>
> I will try if I can find those new versions of C compiler and fix the problem.<br>
> The fix will have to wait for the next release, though.<br>
> Ok. :)<br>
><br>
> Thanks again for reporting the problem.<br>
> You are welcome.<br>
> Thanks for the software.<br>
><br>
> Wei-keng<br>
><br>
> On Jun 1, 2015, at 1:00 AM, Nick Papior Andersen wrote:<br>
><br>
> > I am trying to compile and make check with these compilers:<br>
> > intel 2015.1.13<br>
> > and<br>
> > gcc 5.1.0 in the path.<br>
> ><br>
> > Compiling goes fine and everything seems to link correctly.<br>
> > However make check errors out in the CXX test.<br>
> ><br>
> > First I get this error message:<br>
> > ./nctst ./<a href="http://testfile.nc" target="_blank">testfile.nc</a><br>
> > terminate called after throwing an instance of 'std::logic_error'<br>
> > what(): basic_string::_M_construct null not valid<br>
> > [n-62-12-2:09803] *** Process received signal ***<br>
> > [n-62-12-2:09803] Signal: Aborted (6)<br>
> > [n-62-12-2:09803] Signal code: (-6)<br>
> > [n-62-12-2:09803] [ 0] /lib64/libpthread.so.0(+0xf710)[0x2aae4ac54710]<br>
> > [n-62-12-2:09803] [ 1] /lib64/libc.so.6(gsignal+0x35)[0x2aae4ae94625]<br>
> > [n-62-12-2:09803] [ 2] /lib64/libc.so.6(abort+0x175)[0x2aae4ae95e05]<br>
> > [n-62-12-2:09803] [ 3] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x15d)[0x2aae4a7428cd]<br>
> > [n-62-12-2:09803] [ 4] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(+0x8c936)[0x2aae4a740936]<br>
> > [n-62-12-2:09803] [ 5] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(+0x8c981)[0x2aae4a740981]<br>
> > [n-62-12-2:09803] [ 6] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(+0x8cb98)[0x2aae4a740b98]<br>
> > [n-62-12-2:09803] [ 7] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZSt19__throw_logic_errorPKc+0x3f)[0x2aae4a767faf]<br>
> > [n-62-12-2:09803] [ 8] ./nctst[0x461b42]<br>
> > [n-62-12-2:09803] [ 9] ./nctst[0x4644b6]<br>
> > [n-62-12-2:09803] [10] ./nctst[0x40c313]<br>
> > [n-62-12-2:09803] [11] ./nctst[0x409f60]<br>
> > [n-62-12-2:09803] [12] /lib64/libc.so.6(__libc_start_main+0xfd)[0x2aae4ae80d5d]<br>
> > [n-62-12-2:09803] [13] ./nctst[0x409cb9]<br>
> > [n-62-12-2:09803] *** End of error message ***<br>
> ><br>
> ><br>
> > Secondly I change in file src/libcxx/ncmpiType.cpp:<br>
> > function inq_type has 'return NULL' which cannot be done using returns of string (unless it is a pointer, which it isn't)<br>
> > So I change it to an empty string:<br>
> > 'return ""'<br>
> > (I am not sure when this is reached, but the error message changes as can be seen below, hence my suspicion is at that code segment)<br>
> ><br>
> > Now I recompile and get this alternate error message:<br>
> > ./nctst ./<a href="http://testfile.nc" target="_blank">testfile.nc</a><br>
> > [n-62-12-2:23419] *** Process received signal ***<br>
> > [n-62-12-2:23419] Signal: Segmentation fault (11)<br>
> > [n-62-12-2:23419] Signal code: Address not mapped (1)<br>
> > [n-62-12-2:23419] Failing at address: 0xffffffffffffffe8<br>
> > [n-62-12-2:23419] [ 0] /lib64/libpthread.so.0(+0xf710)[0x2ab6b02fa710]<br>
> > [n-62-12-2:23419] [ 1] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZNSo6sentryC2ERSo+0x19)[0x2ab6afe61e79]<br>
> > [n-62-12-2:23419] [ 2] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l+0x29)[0x2ab6afe62589]<br>
> > [n-62-12-2:23419] [ 3] /zdata/groups/common/nicpa/2015-test/generic/gcc/5.1.0/lib64/libstdc++.so.6(_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc+0x27)[0x2ab6afe629e7]<br>
> > [n-62-12-2:23419] [ 4] ./nctst[0x40d4a5]<br>
> > [n-62-12-2:23419] [ 5] ./nctst[0x409f60]<br>
> > [n-62-12-2:23419] [ 6] /lib64/libc.so.6(__libc_start_main+0xfd)[0x2ab6b0526d5d]<br>
> > [n-62-12-2:23419] [ 7] ./nctst[0x409cb9]<br>
> > [n-62-12-2:23419] *** End of error message ***<br>
> > make[2]: *** [testing] Segmentation fault<br>
> ><br>
> > There seem to be something fishy with the cxx interface?<br>
> > I am no expert in cxx... :( So had troubles debugging further...<br>
> ><br>
> > --<br>
> > Kind regards Nick<br>
><br>
><br>
><br>
><br>
> --<br>
> Kind regards Nick<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Kind regards Nick</div></div></div>
</div>