Tapatalk

Goto line number doesn't work on huge files on line number greater 2,147,483,647 (2^31) (fixed)

Goto line number doesn't work on huge files on line number greater 2,147,483,647 (2^31) (fixed)

1

PostApr 04, 2022#1

I installed UltraEdit specifically to edit a file with 169 GB / 22,843,445,311 lines.

After some time waiting for the file to process I'm able to scroll around the file or jump to the end of the file with no issues.

My goal is to reach line 12,250,758,440 of the file.

However, the Goto functionality doesn't seem to work properly past ~2 billion lines.

Here are the results of some testing I did to go to various line numbers:

1000000000  - works correctly
2000000000  - works correctly
3000000000  - goes to start of file
4000000000  - goes to start of file
5000000000  - goes to 705032704
6000000000  - goes to 1705032704
7000000000  - goes to start of file
8000000000  - goes to start of file
9000000000  - goes to 410065408
10000000000 - goes to 1410065408
11000000000 - goes to start of file
12000000000 - goes to start of file
13000000000 - goes to 115098112

On a hunch I did some further testing and confirmed that the breaking point is line number 2147483648 (2^31).

6,823625
Grand MasterGrand Master
6,823625

PostApr 05, 2022#2

I have never read in the last 20 years that a user of UltraEdit wants to go to a line with such a large line number on viewing/editing a huge file. It is recommended to turn off line counting on working with so large files to improve the efficiency, see the power tip Large file text editor.

There is no help by users possible because of the line number is obviously handled by UltraEdit with a signed 32-bit integer variable.

It is only possible to report this issue to UltraEdit support by email and ask for an enhancement to handle in a future version the line number with a 64-bit integer variable which is a lot of work taking into account where the line number is used in UltraEdit (line number bar, status bar, command Goto available also as macro and as scripting command whereby an enhancement for macros is really a problem as four additional bytes in binary macro file are needed which cause downwards compatibility problems, code foldings (hiding lines) and saving/reloading code foldings (hidden lines), bookmarks and saving/reloading bookmarks, line change indication, etc.).

PostApr 23, 2022#3

The issue with Go to line / column not working for lines with a line number greater than 2,147,483,647 is fixed in UltraEdit for Windows v2022.0.0.102 and UEStudio v2022.0.0.102 according to the published UltraEdit/UEStudio hotfix information with the list item:
  • Addressed Goto not using 64-bit int for line number value