ROOT hangs when creating TCanvas


I have this very strange issue with ROOT. I was writing a script to simply draw plots and the script was working well, up to the point I added the creation of the canvas. I have printout everywhere and I saw everything being printed. But when I added the “new TCanvas” line, it stopped printing anything at all. This is also the case even if the function containing the line is not called, like if the line being present prevents the script from being loaded.

Eventually I managed to reproduce this behaviour very simply:

> root -l
root [0] new TCanvas

At that point nothing happens at all and it seems to hang forever.

However opening a TBrowser before, then the TCanvas opens correctly.

> root -l
root [0] new TBrowser
(TBrowser *) 0x5581a87a9a10
root [1] new TCanvas
(TCanvas *) 0x5581a9039350
root [2] 

ROOT Version: 6.22/00
Built for linuxx8664gcc on Aug 13 2020, 12:21:00
From @

Thanks for any help you can suggest.

What about:

root [0] auto c = new TCanvas();


works for me on MacOS:

% root -l
root [0] new TCanvas
(TCanvas *) 0x7f89922d8cf0
root [1] 

Note the current production version is 6.22/06

Hi Thanks for your answers,

The suggestion with auto does not work either. But here is another piece of information: I appear to have this problem in only one directory. And that directory contains a fifo (created with mkfifo). I tested this in a directory that contains only one fifo, and the hanging issue appears.

% mkdir test
% cd test
% mkfifo myfifo
% root -l
root [0] new TCanvas

So now I know how to solve this problem, but that still seems to be a strange influence…

I see the same on Mac. If I do new TCanvas it hangs. If I do first new TBrowser then after new TCanvas then it is ok. mkfifo creates a named pipe. I do no see why it has such effect on the ROOT
canvas. Weird …

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

I’ve created to keep track of this.