I run into segmentation faults when trying to write a histogram of sufficient size. I can manipulate the histogram prior to writing it and it appears to behave normally. However, I cannot write it to a TFile without producing a segmentation fault, though I can if I specify fewer bins. (I have quite a few bins.)
It seems clear I’m butting up against some sort of memory limit, and I’ll find a workaround, but I wondered if you could provide any insight.
Python 2.7.13 (default, Mar 8 2017, 15:01:16)
Type "copyright", "credits" or "license" for more information.
IPython 5.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: from ROOT import TH3D, TFile
In [2]: f_out = TFile('./efficiencies.root', 'RECREATE')
In [4]: test_hist = TH3D('test', 'test', 5400, 4000, 31000, 9000, 0, 45000, 20, 1, 6) # same result with TH3F; writes successfully with, e.g., 9000 replaced by 45
In [5]: test_hist.Fill(4500, 10, 3)
Out[5]: 437675543
In [6]: test_hist.GetEntries()
Out[6]: 1.0
In [7]: test_hist.Fill(4501, 11, 7)
Out[7]: -1
In [8]: test_hist.GetEntries()
Out[8]: 2.0
In [9]: test_hist.Write()
Segmentation fault
ROOT Version: 6.08/06 Platform: x86_64-slc6-gcc62-opt Compiler: Not Provided