Cannot find object if I add customized class in inputlist

Ubuntu 16.04 64bit
gcc 5.4
root 6.08

I create my own class inherited from TNamed. Everything was perfect if I added it to output list. Today I tried to add it to the input list, I found I could find it at Begin(), but not SlaveBegin(), I check it and saw no name for my class, but has name for the other root-ownd class.

Here are some errors from logs:

[quote]18:44:43 7148 Wrk-0.1 | Error in TMessage::ReadClassBuffer: class: MyTest, attempting to access a wrong version: 64, object skipped at offset 418
18:44:43 7148 Wrk-0.1 | Error in TMessage::CheckByteCount: object of class MyTest read too many bytes: 13 instead of 11
18:44:43 7148 Wrk-0.1 | Warning in TMessage::CheckByteCount: MyTest::Streamer() not in sync with data, fix Streamer()
Error in : Cannot stream interpreted class.

Do I need to write some method like Streamer as mentioned in the error?

Thanks a lot.

Dear gjzeus,

Yes, sending an object requires streaming it, exactly as for writing to a file. You need to add a call
to ClassDef with version > 0, e.g.

   ClassDef(MyTest, 1)   // 

The streamer will be automatically generated. However, you need to load the class into the workers via TProof::Load (or a PAR file) so that the workers to know about it when reading in the input list.

G Ganis