fEmCal = new TClonesArray("CAREmCell", 4); to fEmCal = new
TClonesArray("CAREmCell", 20)
and
for (Int_t i=0; i<4; i++){ to for (Int_t i=0; i<20; i++){
I get then the error:
Fatal in <operator delete>: unreasonable size (139299912)
aborting
the same error already reported earlier:
http://root.cern.ch/cgi-bin/print_hit_bold.pl/root/roottalk/roottalk98/0806.html?sendingTClonesArray#first_hit
I am using Version 2.21/01 on PC-Linux
Yves
Yves Schutz wrote:
>
> Hi,
>
> I have followed the directives from the client/server tutorial and
> from one of the entries to roottalk to send/receive a TClonesArray:
>
> sender code:
>
> fEmCal = new TClonesArray("CAREmCell", 4);
>
> for (Int_t i=0; i<4; i++){
> new( (*fEmCal)[i]) CAREmCell(i, i*10, i*20, i*30) ;
> }
>
> TMessage mess(kMESS_OBJECT); // sends a message
> mess.Reset();
> mess.WriteObject(fEmCal);
> fSocket->Send(mess)
>
> receiver code :
>
> TSocket * s;
> TMessage * mess=0;
> TClonesArray * det=0;
>
> s = fMonitor->Select();
> s->SetOption(kNoBlock,0);
> Int_t status = s->Recv(mess);
>
> if (mess->What() == kMESS_OBJECT) {
> TClass* clas = mess->GetClass();
> if (clas) cout << clas->GetName() << endl ;
> det = (TClonesArray *)mess->ReadObject(clas);
> for (Int_t i=0; i < det->GetEntries(); i++){
> CAREmCell * c = (CAREmCell *)(det->At(i));
> // c->Print();
> }
> }
>
> I get a segmentation fault on the line:
>
> det = (TClonesArray *)mess->ReadObject(clas);
>
> with the following traceback:
>
> #2 0x........ in TBuffer::ReadObject()
> #1 0x........ in TClonesArray::Streamer()
> #0 0x........ in TClass::New()
>
> It becomes really ennoying when I uncomment the line:
>
> // c->Print();
>
> then .... everything works fine!
>
> Anybody has a clue to that ?
>
> Thanks ... Yves
> --
> __________________________________________________________________
> |Yves SCHUTZ (IN2P3 - CNRS) collaboration TAPS/WA98/ALICE |
> |SUBATECH |
> |Ecole des Mines de Nantes Telephone: (+33/0) 2 51 85 84 71 |
> |4, rue Alfred Kastler Fax : (+33/0) 2 51 85 84 79 |
> |F-44070 Nantes cedex 03 e-mail : yves.schutz@subatech.in2p3.fr|
> |__________________________________________________________________|
-- __________________________________________________________________ |Yves SCHUTZ (IN2P3 - CNRS) collaboration TAPS/WA98/ALICE | |SUBATECH | |Ecole des Mines de Nantes Telephone: (+33/0) 2 51 85 84 71 | |4, rue Alfred Kastler Fax : (+33/0) 2 51 85 84 79 | |F-44070 Nantes cedex 03 e-mail : yves.schutz@subatech.in2p3.fr| |__________________________________________________________________|