Re: segmentation violation when reading big ASCII files

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Sun, 03 Sep 2006 12:55:13 +0200


Marco,

Give more info.
Are you reading the ascii file with your own code? If yes, can you switch off any other ROOT code? just to see where the problem comes from.
You will have to post your code somewhere in a public place (the shortest possible running code)
together with the data file.

Rene Brun

Marco Calviani wrote:
> Hi rooters,
> i'm experiencing a segmentation violation error when reading a big
> ASCII (1GB) file.
> It starts correctly the analysis but at a certain point it gives me
> the following error and exits out from the routine.
>
>
> *** Break *** segmentation violation
> Generating stack trace...
> 0x00002b9a4956c80e in leggi(int, int, int, int) + 0x24e from
> /ntof1/segnali/./produz_thre6.4_cpp.so
> 0x00002b9a4956cee7 in <unknown> from
> /ntof1/segnali/./produz_thre6.4_cpp.so
> 0x00002b9a45706039 in G__call_cppfunc + 0x1a9 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456f1a03 in G__interpret_func + 0xcc3 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456e7576 in G__getfunction + 0x1ec6 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456c3c54 in G__getitem + 0x654 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456c7478 in G__getexpr + 0x2af8 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a4571f7c1 in G__exec_function + 0x91 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a457249f9 in G__exec_statement + 0x30d9 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456b2ca0 in G__exec_tempfile_core + 0x300 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456b2f5e in G__exec_tempfile_fp + 0xe from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a4572c9e0 in G__process_cmd + 0x1480 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a44e34280 in TCint::ProcessLine(char const*,
> TInterpreter::EErrorCode*) + 0x230 from
> /usr/local/root/lib/root/libCore.so.5.13
> 0x00002b9a44d685b1 in TApplication::ProcessLine(char const*, bool,
> int*) + 0x571 from /usr/local/root/lib/root/libCore.so.5.13
> 0x00002b9a4502ab8f in <unknown> from
> /usr/local/root/lib/root/libCore.so.5.13
> 0x00002b9a45706039 in G__call_cppfunc + 0x1a9 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456f1a03 in G__interpret_func + 0xcc3 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456e76ea in G__getfunction + 0x203a from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a45770cd4 in G__getstructmem + 0x564 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a45769291 in G__getvariable + 0xae1 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456c36ab in G__getitem + 0xab from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456c7478 in G__getexpr + 0x2af8 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a4571f7c1 in G__exec_function + 0x91 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a457249f9 in G__exec_statement + 0x30d9 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456b2ca0 in G__exec_tempfile_core + 0x300 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a456b2f7b in G__exec_tempfile + 0xb from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a45731b43 in G__process_cmd + 0x65e3 from
> /usr/local/root/lib/root/libCint.so.5.13
> 0x00002b9a44e34280 in TCint::ProcessLine(char const*,
> TInterpreter::EErrorCode*) + 0x230 from
> /usr/local/root/lib/root/libCore.so.5.13
> 0x00002b9a44d69255 in TApplication::ProcessFile(char const*, int*) +
> 0x885 from /usr/local/root/lib/root/libCore.so.5.13
> 0x00002b9a44d68502 in TApplication::ProcessLine(char const*, bool,
> int*) + 0x4c2 from /usr/local/root/lib/root/libCore.so.5.13
> 0x00002b9a46df56ef in TRint::Run(bool) + 0x19f from
> /usr/local/root/lib/root/libRint.so.5.13
> 0x000000000040115d in main + 0x4d from /usr/local/root/bin/root.exe
> 0x00002b9a475b1616 in __libc_start_main + 0xde from /lib/tls/libc.so.6
> 0x000000000040107a in TApplicationImp::ShowMembers(TMemberInspector&,
> char*) + 0x3a from /usr/local/root/bin/root.exe
>
> Do you think it is a problem of the size of the file? If this could be
> the case i can create a TTree file and work there, but i would like to
> be sure that the size CAN be a cause of segmentation violation before
> changing all the routine to read from a TTree.....
> Please note that i' using ROOT version 5.13/03
>
> Thanks in advance,
> Marco Calviani
Received on Sun Sep 03 2006 - 12:55:20 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:32:00 MET