## Source file too large?

Discussions related to Visual Prolog
Martin Meyer
VIP Member
Posts: 280
Joined: 14 Nov 2002 0:01

### Source file too large?

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 (20.39 KiB) Viewed 5995 times
----------------------------------------
An unknown exception has been trapped and continued

Arguments = Menu: Compile --- Compile active module

unknown (exception)
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
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.151: Compiling module(s): [\$(mfc90_0)mfc\lambda\untypedLambda\untypedLambda.pack] in ide\buildHandler::runScriptJob1
50:04.207: Menu: Compile --- Compile active module
Regards Martin
Thomas Linder Puls
VIP Member
Posts: 1176
Joined: 28 Feb 2000 0:01

### Re: Source file too large?

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?
Regards Thomas Linder Puls
PDC
Martin Meyer
VIP Member
Posts: 280
Joined: 14 Nov 2002 0:01

### Re: Source file too large?

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 . 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.
Regards Martin
Martin Meyer
VIP Member
Posts: 280
Joined: 14 Nov 2002 0:01

### Re: Source file too large?

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.
Attachments
TestFile.pro
Regards Martin
Thomas Linder Puls
VIP Member
Posts: 1176
Joined: 28 Feb 2000 0:01

### Re: Source file too large?

Thank you, I can reproduce the problem, and will look at it.
Regards Thomas Linder Puls
PDC
Thomas Linder Puls
VIP Member
Posts: 1176
Joined: 28 Feb 2000 0:01

### Re: Source file too large?

This problem is solved in Visual Prolog 9 build 906.

(The problem occurred for all editor content sizes N * 8192 - 1).
Regards Thomas Linder Puls
PDC