Page 1 of 1

Source file too large?

Posted: 15 Dec 2019 4:14
by Martin Meyer
Hello Thomas,

adding some code lines to a large file (named lambda.pro, having 3319 lines) and clicking 'Compile' I am getting below error. It looks like the file size is exceeding some limit. Do I have to split the file into smaller parts or what could be the cause of the error?
pic1.jpg
pic1.jpg (20.39 KiB) Viewed 5625 times
----------------------------------------
An unknown exception has been trapped and continued

Arguments = Menu: Compile --- Compile active module

unknown (exception)
vis::menuCommand
vis\vis.pro(907,13)
----------------------------------------
System exception

error code = 1
ExtraInfo = Exception 80000003: User breakpoint

systemException (runtime_exception)
runtime_exception::runtimeExceptionRaiser
pfc\exception\runtime_exception.pro(21,65)
----------------------------------------
C:\WINDOWS\System32\KERNELBASE.dll (0x00007FFB61930192)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\vipKernel.dll (0x0000001414009C8A)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\Vip.exe (0x0000000140D77034)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\SciLexer.dll (0x00007FFB2DA76D52)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\SciLexer.dll (0x00007FFB2DA76D52)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\SciLexer.dll (0x00007FFB2DA8ACA4)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1211)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1201)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1127)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1129)
d:\vp\release\9\_vip6\prodir\pfc\gui\controls\scilexer\scilexer.pro(1119)
oka\form\editorform\editorform.pro(7)
oka\form\editorform\editorform.pro(140)
oka\form\editorform\editorform.pro(127)
oka\control\idewindow\idewindow.pro(56)
cooperationservice\listenersignalterm.pro(37)
oka\filemanager\filetypes\textfiletype.pro(63)
vis\vis.pro(905)
d:\vp\release\9\_vip6\prodir\pfc\gui\window.pro(1812)
d:\vp\release\9\_vip6\prodir\pfc\gui\window.pro(1986)
d:\vp\release\9\_vip6\prodir\pfc\gui\window.pro(2191)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\vipKernel.dll (0x000000141400AB77)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\vipVpi.dll (0x0000000115317124)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\vipVpi.dll (0x000000011531A447)
vis\vis.pro(593)
d:\vp\release\9\_vip6\prodir\pfc\windowsapi\exe_api\exe_api.pro(51)
d:\vp\release\9\_vip6\prodir\pfc\application\exe\mainexe.pro(36)
d:\vp\release\9\_vip6\prodir\pfc\application\exe\mainexe.pro(19)
main.pro(4)
C:\WINDOWS\SYSTEM32\ntdll.dll (0x00007FFB644092AC)
C:\WINDOWS\System32\KERNELBASE.dll (0x00007FFB61891EDB)
C:\Program Files (x86)\Visual Prolog\Build 902\CE\bin64\vipRun.dll (0x000000141452F463)
OS: Windows 10.0 Version 1909 (OS Build 18363.535) Windows 10 Pro
Visual Prolog 9 Build 902
Library: ?
Compiler: 901
Linker: 900
Build Time: 2019-04-25 17:36:42
vip.exe : 2019-04-25 17:06
vipCompiler.exe : 2019-04-25 17:06
vipVpi.dll : 2019-04-25 17:06
vipDebug.dll : 2019-04-25 17:06
browseInfo.dll : 2019-04-25 17:06
vipKernel.dll : 2019-04-25 17:06
vipRun.dll : 2019-04-25 17:06



-------------
ProjectName: Lambda Demo - Lambda Calculator x64
Compiler Option: pack->obj:$(Compiler) /L:R /L:I $(IncDir) "$**.pack" /objectdir:"$(ObjDir)" /debugdir:"$(DebDir)" /debug:full /machine:$(Target.Machine)

Build Options:
"$(ProDir)Bin\vipLink.exe" -machine:$(Target.Machine) -stack:$(Target.StackSize) -F<< -Entry:_VIPStartUp@0 -d -TPE -SCUI -o"$(ExeDir)$*.exe" -map:"$(ObjDir)$*.map" $(PROJECT_OBJ) "$(ObjDir)$*.res" $(PROJECT_LIB)<<
--------------- History Information ----------------
48:39.166: CommandLineArguments: '' in ide\commandLine::parse
48:41.503: Open project: 'C:\Users\Martin\Projekte\VIP\9.0\mfc prod\Demo\Lambda Demo - Lambda Calculator\Lambda Demo - Lambda Calculator.vipprj', platform: '' in ide\project::loadProjectFromFile1
48:41.504: Current profile: 'x64' in ide\project::setCurrentTargetProfile
48:41.565: iCommand 'Open' call(C:\Users\Martin\Projekte\VIP\9.0\mfc prod\mfc\lambda\untypedLambda\lambda.i, 'Editor' rct(384, 0, 1459, 1817)) in ide\project::openProjectWindow
48:41.595: iCommand 'Open' call(C:\Users\Martin\Projekte\VIP\9.0\mfc prod\mfc\lambda\untypedLambda\lambda.pro, 'Editor' rct(1459, 0, 3149, 2065))
48:41.788: DD Browse cleared in browseManager::clearBrowses
48:41.821: DD Browse cleared
48:41.821: DD loadMainBrowseInfoFromDEB: Lambda Demo - Lambda Calculator.vipprj in ide\browsinfo::loadMainBrowseInfoFromDEB
48:41.823: DD Browse added: lambda demo - lambda calculator.exe (Main = true) for C:\Users\Martin\Projekte\VIP\9.0\mfc prod\Demo\Lambda Demo - Lambda Calculator\Lambda Demo - Lambda Calculator.vipprj in browseManager::addBrowseInfo
48:41.825: DD signalOfLoadBrowseInfo: true in ide\browseInfoLoader::startOfLoad
48:41.917: project::addDirWatch 'c:\users\martin\projekte\vip\9.0\mfc prod\mfc\' in ide\project::addDirWatch
48:41.917: project::addDirWatch 'c:\program files (x86)\visual prolog\build 902\ce\'
48:41.917: project::addDirWatch 'c:\users\martin\projekte\vip\9.0\mfc prod\demo\lambda demo - lambda calculator\'
48:42.621: DD signalOfLoadBrowseInfo: false in ide\browseInfoLoader::endofload/1np$1
49:22.013: Menu: Compile --- Compile active module in vis::menuCommand
49:22.151: Compiling module(s): [$(mfc90_0)mfc\lambda\untypedLambda\untypedLambda.pack] in ide\buildHandler::runScriptJob1
49:52.092: Menu: Paste --- mnu_edit_paste in vis::menuCommand
49:56.815: Menu: Paste --- mnu_edit_paste
50:04.207: Menu: Compile --- Compile active module

Re: Source file too large?

Posted: 16 Dec 2019 10:29
by Thomas Linder Puls
I don't think this is because the file is to large. I think it is some other thing that causes this.

The editor c++ code complains about reading beyond the end of the text (when we save the file). This happens when reading the 14th 8KB buffer from the editor. I cannot understand why we ask for something out of the editor in this case when it normally works fine.

Can you reproduce the problem?

Re: Source file too large?

Posted: 16 Dec 2019 14:34
by Martin Meyer
Yes, it was reproducible. The error message box appeared also when I tried to only save the file. Thus I suppose, it was not a compiler problem but some IDE/editor issue.

I am writting 'was' because now I have split the implementation up into two files (by an additional inherited/supported class/interface) which let the issue disappear. Anyway the code looks more clearly arranged now.

I made a test: I have pumped up a pro-file by inserting comments. The issue has not shown up in my test. After having inserted many thousand lines and trying to compile, I eventually got fatal error c750 : The total number of line numbers for name 'PROLOG_Goal' (66027) exceeds the limit 65535. I suppose that is the intended behavior.

I have not saved the single-implementation-file version :oops:. If you want to continue the investigation, I can try to reconstruct it from the current two files version. Otherwise, thank you once again for supporting me, I will report to you when the issue shows up again.

Re: Source file too large?

Posted: 21 May 2020 18:11
by Martin Meyer
I happened to see another case of the issue in build 905. When I tried to save the changes in an implementation file I got exactly same error box as posted before.

It seems the issue is provoked by certain amounts of lines and characters. I have constructed the attached dummy file TestFile.pro of about same number of lines/characters as my code file. The issue can be reproduced, at least on my PC, with that file:

Open the file in the IDE, prepend the text by a single character "X" in the first line, and try to save it by typing F2.

Re: Source file too large?

Posted: 22 May 2020 21:01
by Thomas Linder Puls
Thank you, I can reproduce the problem, and will look at it.

Re: Source file too large?

Posted: 2 Jun 2020 8:24
by Thomas Linder Puls
This problem is solved in Visual Prolog 9 build 906.

(The problem occurred for all editor content sizes N * 8192 - 1).