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?

Unread post by Martin Meyer » 15 Dec 2019 4:14

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 5624 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
Regards Martin

User avatar
Thomas Linder Puls
VIP Member
Posts: 1176
Joined: 28 Feb 2000 0:01

Re: Source file too large?

Unread post by Thomas Linder Puls » 16 Dec 2019 10:29

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?

Unread post by Martin Meyer » 16 Dec 2019 14:34

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.
Regards Martin

Martin Meyer
VIP Member
Posts: 280
Joined: 14 Nov 2002 0:01

Re: Source file too large?

Unread post by Martin Meyer » 21 May 2020 18:11

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
(32.56 KiB) Downloaded 59 times
Regards Martin

User avatar
Thomas Linder Puls
VIP Member
Posts: 1176
Joined: 28 Feb 2000 0:01

Re: Source file too large?

Unread post by Thomas Linder Puls » 22 May 2020 21:01

Thank you, I can reproduce the problem, and will look at it.
Regards Thomas Linder Puls
PDC

User avatar
Thomas Linder Puls
VIP Member
Posts: 1176
Joined: 28 Feb 2000 0:01

Re: Source file too large?

Unread post by Thomas Linder Puls » 2 Jun 2020 8:24

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

Post Reply