Crash without errors while creating graph from big CSV

Hello.
ROOT Version: 6.24.06
Platform: win10
Compiler: Visual Studio 2019

I am trying to create graph from csv (235 039 kb). Root closes without errors.
If i trying smaller file size about 16384 kb all ok.

CSV:
DateTime,Delay
2021-10-14 03:53:46.087,0
2021-10-14 03:53:46.087,1
2021-10-14 03:53:46.266,0
2021-10-14 03:53:46.612,0
2021-10-14 03:53:47.009,2
2021-10-14 03:53:47.269,10

script
test.C (1.0 KB)

There is indeed a memory issue. Maybe @eguiraud can give more details about how the CSV files are read and if there is a workaround to this issue

EDIT: Note that I can read a file of 245 MB (257’742’761 bytes) with ROOT::RDF::MakeCsvDataFrame, but then the crash occurs when trying to draw a graph (values->size() = 9487463)

Are we sure we are talking about the same crash in these two cases?

@bellenot can you open an issue with your reproducer?

@yndingo can I just replicate those first lines you shared a gazillion time to reproduce the problem?

Cheers,
Enrico

@eguiraud I think the issue is really the TGraph with 9487463 points.

https://drive.google.com/file/d/13FPZ7V81SdUy3Lrne5vMNYymfR5PhytS/view?usp=sharing
i’l try to save ur time. Here is my log

We can’t access your file. But anyway, I tested on Linux and it works fine, so it looks like the issue is either on Windows only, or on 32 bit platforms. Debugging right now

sorry update access to all who have link

So there is apparently a limited contiguous space available on Windows with this code:

   // Draw the graph with a polyline or a fill area
   gxwork  = new Double_t[2*npoints+10];
   gywork  = new Double_t[2*npoints+10];
   gxworkl = new Double_t[2*npoints+10];
   gyworkl = new Double_t[2*npoints+10];

in TGraphPainter::PaintGraph(). There is a std::bad_alloc thrown when calling new Double_t[2*npoints+10]; with npoints = 8848933
Still investigating…