Well, it seems as though any command which follows SetFPEMask causes a segmentation fault - here you can see it after a TBrowser is called. So this error cannot be related to the TMLP one.
[tdavies@nglas16 results]$ root -l
root [0] gSystem->SetFPEMask(kAllMask)
(Int_t)0
root [1] TBrowser T
*** Break *** floating point exception
Generating stack trace…
0xb700b83d in TBrowser::TBrowser[in-charge](char const*, char const*) at base/src/TBrowser.cxx:94 from /home/cdfsoft/products/root/v4_00_08gGCC_3_4_3/Linux+2.4/lib/libCore.so
The SetFPEMask function causes a segmentation fault that stops any code after running.
without using SetFPEMask, I have set a breakpoint at TMultiLayerPerceptron::GetError(), as this call happens just before the error message, and I have no clue how to read the following:
#0 TMultiLayerPerceptron::GetError (this=0x9049e30, set=TMultiLayerPerceptron::kTest)
at mlp/src/TMultiLayerPerceptron.cxx:926
#1 0xb591b006 in TMultiLayerPerceptron::Train (this=0x9049e30, nEpoch=10,
option=0x95afdfc “text, graph, update=1”) at mlp/src/TMultiLayerPerceptron.cxx:846
#2 0xb59291d5 in G__G__MLP_146_3_1 ()
from /home/cdfsoft/products/root/v4_00_08gGCC_3_4_3/Linux+2.4/lib/libMLP.so
#3 0xb6ccd9b5 in G__call_cppfunc (result7=0xbffe9840, libp=0xbffde000, ifunc=0x9555f28, ifn=3)
at cint/src/newlink.c:523
#4 0xb6cb7e1b in G__interpret_func (result7=0xbffe9840, funcname=0xbffe8e70 “Train”,
libp=0xbffde000, hash=510, p_ifunc=0x9555f28, funcmatch=1, memfunc_flag=1)
at cint/src/ifunc.c:6600
#5 0xb6c8e25f in G__getfunction (item=0xbffea445 “Train(10,“text, graph, update=1”)”,
known3=0xbffed54c, memfunc_flag=1) at cint/src/func.c:3194
#6 0xb6d53036 in G__getstructmem (store_var_type=112, varname=0xbffed180 “\200q(¶\020¿.\b¤Ñþ¿”,
membername=0xbffea445 “Train(10,“text, graph, update=1”)”, tagname=0xbffea440 “myNN”,
known2=0xbffed54c, varglobal=0xb6e82fc0, objptr=1) at cint/src/var.c:4899
#7 0xb6d488bf in G__getvariable (item=0xbffedc90 “myNN.Train(10,“text, graph, update=1”)”,
known2=0xbffed54c, varglobal=0xb6e82fc0, varlocal=0x0) at cint/src/var.c:3552
#8 0xb6c81d0e in G__getitem (item=0xbffedc90 “myNN.Train(10,“text, graph, update=1”)”)
at cint/src/expr.c:2342
#9 0xb6c7fe6a in G__getexpr (expression=0xbffef170 “myNN.Train(10,“text, graph, update=1”)”)
at cint/src/expr.c:1711
#10 0xb6ce9f85 in G__exec_function (
statement=0xbffef170 “myNN.Train(10,“text, graph, update=1”)”, pc=0xbffef16c,
piout=0xbffef160, plargestep=0xbffef150, presult=0xbffefb40) at cint/src/parse.c:521
#11 0xb6cf4ae2 in G__exec_statement () at cint/src/parse.c:4869
#12 0xb6c5f851 in G__exec_tempfile_core (file=0x0, fp=0x95afc88) at cint/src/debug.c:390
#13 0xb6c5fb0e in G__exec_tempfile_fp (fp=0x95afc88) at cint/src/debug.c:476
#14 0xb6cffefa in G__process_cmd (line=0x95afc54 “myNN.Train(10,“text, graph, update=1”);”,
prompt=0x844ea44 “”, more=0x844ea3c, err=0xbfff9c1c, rslt=0xbfff9c20) at cint/src/pause.c:4110
#15 0xb70b8afa in TCint::ProcessLine (this=0x844ea20,
line=0x95afc54 “myNN.Train(10,“text, graph, update=1”);”, error=0x0) at meta/src/TCint.cxx:310
#16 0xb7002d3d in TApplication::ProcessLine (this=0x8799f30,
line=0x95afc54 “myNN.Train(10,“text, graph, update=1”);”, sync=false, err=0x0)
at base/src/TApplication.cxx:691
#17 0xb62dc572 in TRint::HandleTermInput (this=0x8799f30) at rint/src/TRint.cxx:397
#18 0xb62dad8f in TTermInputHandler::Notify (this=0x8e397e8) at rint/src/TRint.cxx:102
#19 0xb62dcf6f in TTermInputHandler::ReadNotify (this=0x8e397e8) at rint/src/TRint.cxx:96
#20 0xb7136e46 in TUnixSystem::CheckDescriptors (this=0x8446778) at unix/src/TUnixSystem.cxx:890
#21 0xb7136681 in TUnixSystem::DispatchOneEvent (this=0x8446778, pendingOnly=false)
at unix/src/TUnixSystem.cxx:693
#22 0xb7077e6b in TSystem::InnerLoop (this=0x8446778) at base/src/TSystem.cxx:316
#23 0xb7077df6 in TSystem::Run (this=0x8446778) at base/src/TSystem.cxx:284
#24 0xb700361b in TApplication::Run (this=0x8799f30, retrn=false) at base/src/TApplication.cxx:805
#25 0xb62dbf13 in TRint::Run (this=0x8799f30, retrn=false) at rint/src/TRint.cxx:263
#26 0x08048d3b in main (argc=1, argv=0xbfffa314) at main/src/rmain.cxx:29
(gdb)
however, since this error message is generated when it finds a nan error, presumably the problem has happened somewhere down the line and has not produced any error messages unitl now. I don’t know enough about the program to choose a function to set as a break point to find the problem at it’s root. which function should I be choosing a different function for a break point? When it breaks what do I look for in the output?
Cheers,
Toby Davies