差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
softwares:root:errors [2018/08/30 17:36] kobayashsoftwares:root:errors [2018/09/26 22:14] (現在) kobayash
行 1: 行 1:
 ===== Errors ===== ===== Errors =====
 ==== CINT ==== ==== CINT ====
-  * Macro 中で #include <cstdio>書いていると CINT で複数回実行すると、プログラムを閉じる時に segmentation violation が起きる。なんで?とにかく、macro 中で #include <cstdio> を使ってはいけないようだ。関数などのコメントアウトの仕方を変えると、エラーの内容が変わるのでデバッグ仕辛いので注意。複数回 macro を実行する場合は #include に注意。 +  * CINT で #include <cstdio> が書かれた macro を複数回実行すると、プログラムを閉じる時に segmentation violation が起きる。なんで?macro 中で #include <cstdio> を使ってはいけないようだ。関数などのコメントアウトの仕方を変えると、エラーの内容が変わるのでデバッグ仕辛いので注意。複数回 macro を実行する場合は #include に注意。 
-  * +  * TH1::Fit(fitfunc,"R+") で使用する fitfunc の具体的定義は macro の一番初めに書かないと segmentation violation が起きたり、<code>Error: Cint::G__CallFunc::SetArgArray() must be initialized with 'Cint::G__CallFunc::SetFunc(G__ClassInfo* cls,char* fname,char* args,long* poffset)' first</code> となったり、<code> *** Break *** segmentation violation 
 +=========================================================== 
 +There was a crash. 
 +This is the entire stack trace of all threads: 
 +=========================================================== 
 +#0  0x00007f1e1d6c727c in __libc_waitpid (pid=15528, stat_loc=stat_loc 
 +entry=0x7ffdde5e5be0, options=options 
 +entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:31 
 +... 
 +... 
 +... 
 +</code> となったりする。
  
 +  * CINT で #include "TH1D.h" と書かれた macro を複数回実行すると、ROOT のプログラムを閉じる際に以下のエラーがでる。<code>!!!Fatal Error: Interpreter memory overwritten by illegal access.!!!
 +!!!Terminate session!!!
 +
 + *** Break *** segmentation violation
 +
 +===========================================================
 +There was a crash.
 +This is the entire stack trace of all threads:
 +===========================================================
 +#0  0x00007f2a4dc9127c in __libc_waitpid (pid=13574, stat_loc=stat_loc
 +entry=0x7ffd1e99d8a0, options=options
 +entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:31
 +#1  0x00007f2a4dc14c72 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:148
 +#2  0x00007f2a4e945cb9 in TUnixSystem::StackTrace() () from /home/kobayash/cern/root_v5.34.36/lib/root/libCore.so
 +#3  0x00007f2a4e9478dc in TUnixSystem::DispatchSignals(ESignals) () from /home/kobayash/cern/root_v5.34.36/lib/root/libCore.so
 +#4  <signal handler called>
 +#5  0x00007f2a4d32588d in G__destroy_upto () from /home/kobayash/cern/root_v5.34.36/lib/root/libCint.so
 +...
 +#24 0x00007f2a4e4d2ba7 in TRint::Run(bool) () from /home/kobayash/cern/root_v5.34.36/lib/root/libRint.so
 +#25 0x0000000000401028 in main ()
 +===========================================================
 +
 +The crash is most likely caused by a problem in your script.
 +Try to compile it (.L myscript.C+g) and fix any errors.
 +If that does not help then please submit a bug report at
 +http://root.cern.ch/bugs. Please post the ENTIRE stack trace
 +from above as an attachment in addition to anything else
 +that might help us fixing this issue.
 +
 +Root > </code> 具体的には fit_eg.C を4回以上CINTで実行すると起こった。TH1D.h のインクルードをやめ、#include "TH1.h" とすると、問題がおきなくなった。なんで? 
 +
 +  * CINT で上で 2 つのマクロを実行する場合、それらのマクロに同じ名前の関数が存在し、それらの引数にデフォルト値が与えられていると、以下のエラーがでる。<code>Error: Redefinition of default argument xxx.C:15:
 +*** Interpreter error recovered ***</code>
 +  * 以下のようなコードをマクロに書き、<code>  if (gDirectory->IsWritable()) {
 +<code>    grng->Write();
 +    tf1->Write();
 +    ghst->Write();
 +    ginteg->Write("ginteg",TObject::kOverwrite);
 +    garea->Write("garea",TObject::kOverwrite);
 +  }</code> そのマクロを CINT で複数回実行したあと、TBrowser を閉じると <code>
 +  
 +   *** Break *** segmentation violation
 +
 +===========================================================
 +There was a crash.
 +This is the entire stack trace of all threads:
 +===========================================================
 +#0  0x00007fe5bf07127c in __libc_waitpid (pid=14124, stat_loc=stat_loc
 +entry=0x7ffc853e4920, options=options
 +entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:31
 +#1  0x00007fe5beff4c72 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:148
 +#2  0x00007fe5bfd25cb9 in TUnixSystem::StackTrace() () from /home/kobayash/cern/root_v5.34.36/lib/root/libCore.so</code> となる。Write をマクロで使う時は注意。
 +
 +  
softwares/root/errors.1535618215.txt.gz · 最終更新: 2018/08/30 17:36 by kobayash
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0