lasio
lasio copied to clipboard
Files without ~ASCII line take forever to finish parsing
I have a file that has this section just before the data.
~Parameter Information Block #MNEM.UNIT Value Description #----.---- ---------------------------------------- ------------------------------- 2344 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -10.2696 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 2345 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -10.2696 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500
if I modify it to
~Parameter Information Block #MNEM.UNIT Value Description #----.---- ---------------------------------------- ------------------------------- ~ASCII 2344 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -10.2696 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 2345 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -10.2696 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500
I have now added some data. The data is a bit modified.
It works. Otherwise it will be stuck forever. I cant share the whole file. But it should not be needed I think. Even if it is not correct file it should not be stuck forever.
Thanks for the bug report. Are you able to upload an example file which exhibits the behaviour?
The file is not possible to upload sorry. Cant share it.
Sorry I am not being clear - are you able to obfuscate it by for example removing all but one data line?
Ok. Does the example file have a line containing ~ASCII
at all?
No it did not have and ~ASCII at all. It makes LASIO stuck completely.
OK, I'll have a look at it. These kinds of files are pretty difficult to handle because the ~ASCII
line which demarcates the beginning of the data section is a critical and important part of the file structure and definition. Out of curiosity - is the file marked as LAS file version 1.2, 2.0 or 3.0? It should be near the top on the line beginning with VERS
.
lasio should probably fail with an exception for a file like you describe. It certainly shouldn't be stuck in an endless loop. There was recently a change to the parser which may have introduced this bug, and we may not have had a regression test for it. Thanks for the report!
The two first lines of the file. ~Version Information VERS. 1.20: CWLS log ASCII Standard -VERSION 1.20
Interesting error, cimka-- thanks for reporting.
I tried to reproduce your error by modifying the ./tests/examples/1.2/sample_wrapped.las
file to look similar to the text you posted, but could not reproduce.
Can you please upload/post the problem file in an obfuscated form? In other words, change all the header entries (like well name and location, etc.) and just provide a couple lines of data. We understand the need to keep data private. That said, if we can't reproduce the error we won't be able to try to fix it!
Cheers
Sorry for later reply. We have fixed the las file internally and I don't remember where or if I still have it around. I can try and reproduce this with some other file and see if it will have same issue.
I found the file now. But when I reduce the file size to 34KB it takes 12 seconds to read and to 77KB makes it take 2,5 min to read the file. The original file is 1818KB. Also tested with more sizes of the file and did approximation in excel. So the time it would take with 1818KB would be 819 hours.
So it is not a complete deadlock but something that takes a long time when ~A is missing. I hope this can help you more. I am unable to give you the full file or modify it when this much data is needed.
On my end this happens when we call lasio.las.LASFile(file_path)
We did find a file with the same fault, so I took the file ./tests/examples/1.2/sample_big.las
and modified it a bit and I do get into the same issue with this one. See it here attached (renamed to .txt to be able to upload it :)).
sample_big_modified.las.txt
Thank you for uploading that and passing the file on. I will have a look!