Filling mixed typed TTree with Python

I think it has to do with ROOT expecting contiguous memory for the consecutive members of a struct or object. An odd number of integers leaves a “gap” before the double, which breaks ROOT. So either ensure you have an even number of ints before a double, or put the integers after the doubles, e.g.:

struct MyStruct {
   Double_t b;
   Int_t a;
};