Dear Rene,
thank you very much for your patience, but this, unfortunately, did not
help me. I changed the code as you suggested and I still get a
segmentation violation. I tried this also on root 5.22/00d on SL 4.8 with
gcc 4.1.2.
This is the output of the crush:
- Break *** segmentation violation
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
Attaching to program: /proc/13977/exe, process 13977
[Thread debugging using libthread_db enabled]
[New Thread 182923994176 (LWP 13977)]
0x000000396d590104 in waitpid () from /lib64/tls/libc.so.6
#1 0x000000396d539aff in do_system () from /lib64/tls/libc.so.6
#2 0x0000002a957e0390 in TUnixSystem::StackTrace () from
/usr/local/root/root/lib/libCore.so.5.22
#3 0x0000002a957de0e3 in TUnixSystem::DispatchSignals () from
/usr/local/root/root/lib/libCore.so.5.22
#4 <signal handler called>
#5 0x0000002a960968ae in G__LD_P10_double () from
/usr/local/root/root/lib/libCint.so.5.22
#6 0x0000002a95f99cd0 in G__exec_asm () from
/usr/local/root/root/lib/libCint.so.5.22
#7 0x0000002a95fa01fa in G__exec_bytecode () from
/usr/local/root/root/lib/libCint.so.5.22
#8 0x0000002a9601f836 in G__interpret_func () from
/usr/local/root/root/lib/libCint.so.5.22
#9 0x0000002a95fbd3aa in Cint::G__CallFunc::ExecInterpretedFunc ()
from /usr/local/root/root/lib/libCint.so.5.22
#10 0x0000002a95fbd596 in Cint::G__CallFunc::Execute () from
/usr/local/root/root/lib/libCint.so.5.22
#11 0x0000002a957c4951 in TCint::CallFunc_ExecDouble () from
/usr/local/root/root/lib/libCore.so.5.22
#12 0x0000002a957b2294 in TMethodCall::Execute () from
/usr/local/root/root/lib/libCore.so.5.22
#13 0x0000002a983ec3c1 in TF1::EvalPar () from
/usr/local/root/root/lib/libHist.so
#14 0x0000002a985f51fa in G__G__Hist_199_0_36 () from
/usr/local/root/root/lib/libHist.so
#15 0x0000002a95f8658f in Cint::G__ExceptionWrapper () from
/usr/local/root/root/lib/libCint.so.5.22
#16 0x0000002a9604c650 in G__execute_call () from
/usr/local/root/root/lib/libCint.so.5.22
#17 0x0000002a9604d669 in G__call_cppfunc () from
/usr/local/root/root/lib/libCint.so.5.22
#18 0x0000002a960203ab in G__interpret_func () from
/usr/local/root/root/lib/libCint.so.5.22
#19 0x0000002a9600f1a6 in G__getfunction () from
/usr/local/root/root/lib/libCint.so.5.22
#20 0x0000002a9611eb69 in G__getstructmem () from
/usr/local/root/root/lib/libCint.so.5.22
#21 0x0000002a9611493b in G__getvariable () from
/usr/local/root/root/lib/libCint.so.5.22
#22 0x0000002a95fde31a in G__getitem () from
/usr/local/root/root/lib/libCint.so.5.22
#23 0x0000002a95fe90d2 in G__getexpr () from
/usr/local/root/root/lib/libCint.so.5.22
#24 0x0000002a95feb241 in G__getexpr () from
/usr/local/root/root/lib/libCint.so.5.22
#25 0x0000002a9607a45c in G__exec_statement () from
/usr/local/root/root/lib/libCint.so.5.22
#26 0x0000002a960220b4 in G__interpret_func () from
/usr/local/root/root/lib/libCint.so.5.22
#27 0x0000002a9600d3b0 in G__getfunction () from
/usr/local/root/root/lib/libCint.so.5.22
#28 0x0000002a95fde47d in G__getitem () from
/usr/local/root/root/lib/libCint.so.5.22
#29 0x0000002a95fe90d2 in G__getexpr () from
/usr/local/root/root/lib/libCint.so.5.22
#30 0x0000002a96082319 in G__exec_statement () from
/usr/local/root/root/lib/libCint.so.5.22
#31 0x0000002a95fc7514 in G__exec_tempfile_core () from
/usr/local/root/root/lib/libCint.so.5.22
#32 0x0000002a95fc77ee in G__exec_tempfile_fp () from
/usr/local/root/root/lib/libCint.so.5.22
#33 0x0000002a9608d505 in G__process_cmd () from
/usr/local/root/root/lib/libCint.so.5.22
#34 0x0000002a957c8261 in TCint::ProcessLine () from
/usr/local/root/root/lib/libCore.so.5.22
#35 0x0000002a956e4305 in TApplication::ProcessLine () from
/usr/local/root/root/lib/libCore.so.5.22
#36 0x0000002a96f9cb78 in TRint::HandleTermInput () from
/usr/local/root/root/lib/libRint.so.5.22
#37 0x0000002a96f9ac77 in TTermInputHandler::Notify () from
/usr/local/root/root/lib/libRint.so.5.22
#38 0x0000002a96f9d4fd in TTermInputHandler::ReadNotify () from
/usr/local/root/root/lib/libRint.so.5.22
#39 0x0000002a957ddd05 in TUnixSystem::CheckDescriptors () from
/usr/local/root/root/lib/libCore.so.5.22
#40 0x0000002a957de25b in TUnixSystem::DispatchOneEvent () from
/usr/local/root/root/lib/libCore.so.5.22
#41 0x0000002a9574ab55 in TSystem::InnerLoop () from
/usr/local/root/root/lib/libCore.so.5.22
#42 0x0000002a9574dcb1 in TSystem::Run () from
/usr/local/root/root/lib/libCore.so.5.22
#43 0x0000002a956e28df in TApplication::Run () from
/usr/local/root/root/lib/libCore.so.5.22
#44 0x0000002a96f9d0b4 in TRint::Run () from
/usr/local/root/root/lib/libRint.so.5.22
#45 0x000000000040109d in main ()
Maybe I am doing something trivially stupid, but I can not see it.
My problem of sending messages to the roottalk list has been solved
(thanks to Fons Rademakers), so I think it is more appropriate to switch
these emails to the general roottalk mailing list.
Alessio.
On Mon, 23 Nov 2009, Rene Brun wrote:
> You have an error in your C++ code. Replace your function by:
>
> Double_t myfunction(Double_t *x, Double_t *par)
> {
> Float_t xx =x[0];
> Double_t f;
> if (xx!=0.) {
> f = TMath::Abs(par[0]*TMath::Sin(par[1]*xx)/xx);
> } else {
> f =0.;
> }
> return f;
> }
>
>
> Rene
>
> Alessio Mangiarotti wrote:
>> Dear root developers,
>>
>> I am sorry to generate spam on this other address, but my messages can not
>> get to the roottalk list (I am a subscribed user). Am I doing something
>> wrong or it is just a miss-configuration of some filter?
>>
>> Regards,
>> Alessio Mangiarotti.
>>
>>
>>
>> ---------- Forwarded message ----------
>> Date: Fri, 20 Nov 2009 03:11:40 +0000 (WET)
>> From: Alessio Mangiarotti <alessio_at_lipc.fis.uc.pt>
>> To: roottalk_at_root.cern.ch
>> Cc: Alessio Mangiarotti <alessio_at_lipc.fis.uc.pt>
>> Subject: problem with TF1 (fwd)
>>
>>
>> It seems it did not get trough, for some reasons. I attach here the gdb
>> output as requested on the site.
>>
>> I hope it gets trough now,
>> Regards,
>> Alessio Mangiarotti.
>>
>>
>> ---------- Forwarded message ----------
>> Date: Thu, 19 Nov 2009 01:33:55 +0000 (WET)
>> From: Alessio Mangiarotti <alessio_at_lipc.fis.uc.pt>
>> To: roottalk_at_root.cern.ch
>> Cc: Alessio Mangiarotti <alessio_at_lipc.fis.uc.pt>
>> Subject: problem with TF1
>>
>> Dear rooters,
>>
>> I am experiencing a strange problem with TF1. In essence, I would like to
>> calculate a function for given values of the argument and the parameters. I
>> would also like to plot the function. However when I use ->EvalPar() on a c
>> function I defined, root crashes. I reproduced the problem in a much
>> simpler macro I attach here. If the function is defined with an in line
>> expression in TF1 root does not crashes. I am using root version 5.24/00b
>> on ubuntu 6.10 (gcc 4.4.1-4). Maybe I am doing something stupid, but I can
>> not see it!
>>
>> To reproduce the problem just type:
>> .L tf1_problem.C
>> tf1_problem();
>>
>>
>> I would appreciate any help.
>> Best Regards,
>> Alessio Mangiarotti.
>
>
Received on Tue Nov 24 2009 - 05:46:15 CET