[gps-users] GNAT GPL gprbuild problems and crashes

Rob Groen robgr at xs4all.nl
Fri Jul 28 10:45:00 CEST 2017


Hello all,

I am using platform Windows10 Home (64-bit) on Lenovo Yoga laptop. I 
experience the following issues:

1) Sloooow performance

After installing the 2016 GPL GNAT, compiling and building takes forever:

gnatmake -d -PD:\ada\source\temp\gnat_bug\src\gnat_bug.gpr null_proc.adb
gprbind null_proc.bexch
gnatbind null_proc.ali
gcc -c b__null_proc.adb
gcc null_proc.o -g -o null_proc.exe
[2017-07-28 10:33:00] process terminated successfully, elapsed time: 36.15s

Over 36s to compile nothing!

null_proc.adb contains (not surprisingly):

procedure null_proc is
begin
null;
end null_proc;

2) Compiler crashes:

Using GNAT GPL 2016, after changing in GPS (Edit -> Preferences -> 
General -> Default Builder, I get crashes in GPS when building a project 
(SHIFT-F4). This is in the GPS instance where I changed the setting. The 
error is:

gprbuild: raised PROGRAM_ERROR : EXCEPTION_ACCESS_VIOLATION
Call stack traceback locations:
0x74be77 0x77c96200 0x77c961d2 0x77c84164 0x4db8ee 0x4ded67 0x4def44 
0x407b1e 0x761ef6 0x4013db 0x76f48742 0x77c7582b 0x77c757fb

Then, in a fresh started GPS I get immediately after starting the 
following  error in the Message pane:

[2017-07-28 10:23:55] 
D:\ada\GNAT\share\doc\gprbuild\html\gps_index.xml:1:0: No root element 
specified
Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "D:\ada\GNAT\share\gps\plug-ins\jedi_support.py", line 12, in 
<module>
     import jedi
   File "D:\ada\GNAT\lib\site-packages\jedi\__init__.py", line 41, in 
<module>
     from jedi.api import Script, Interpreter, NotFoundError, 
set_debug_function
   File "D:\ada\GNAT\lib\site-packages\jedi\api\__init__.py", line 24, 
in <module>
     from jedi.api import keywords
   File "D:\ada\GNAT\lib\site-packages\jedi\api\keywords.py", line 6, in 
<module>
     from jedi.evaluate import compiled
   File "D:\ada\GNAT\lib\site-packages\jedi\evaluate\__init__.py", line 
68, in <module>
     from jedi.evaluate import representation as er
   File "D:\ada\GNAT\lib\site-packages\jedi\evaluate\representation.py", 
line 43, in <module>
     from jedi.evaluate import compiled
   File 
"D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\__init__.py", line 
480, in <module>
     _type_names_dict = builtin.get_by_name('type').names_dict
   File "D:\ada\GNAT\lib\site-packages\jedi\cache.py", line 160, in wrapper
     result = method(self, *args, **kwargs)
   File 
"D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\__init__.py", line 
451, in get_by_name
     return self.names_dict[name][0].parent
   File "D:\ada\GNAT\lib\site-packages\jedi\cache.py", line 143, in wrapper
     result = func(self)
   File 
"D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\__init__.py", line 
305, in parent
     return _create_from_name(module, self._obj, self.name)
   File 
"D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\__init__.py", line 
461, in _create_from_name
     faked = fake.get_faked(module.obj, parent.obj, name)
   File "D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\fake.py", 
line 102, in get_faked
     result = _faked(module, obj, name)
   File "D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\fake.py", 
line 75, in _faked
     faked_mod = _load_faked_module(module)
   File "D:\ada\GNAT\lib\site-packages\jedi\evaluate\compiled\fake.py", 
line 33, in _load_faked_module
     grammar = load_grammar('grammar3.4')
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\__init__.py", line 
51, in load_grammar
     return _loaded_grammars.setdefault(path, generate_grammar(path))
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\pgen2\pgen.py", line 
393, in generate_grammar
     p = ParserGenerator(filename)
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\pgen2\pgen.py", line 
24, in __init__
     self.dfas, self.startsymbol = self.parse()
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\pgen2\pgen.py", line 
156, in parse
     name = self.expect(token.NAME)
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\pgen2\pgen.py", line 
322, in expect
     type, value, self.type, self.value)
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\pgen2\pgen.py", line 
342, in raise_error
     self.begin[1], line))
   File "D:\ada\GNAT\lib\site-packages\jedi\parser\grammar3.4.txt", line 1

                     ^
SyntaxError: expected 1/None, got 52/
Welcome to GPS 2016 (20160515) hosted on i686-pc-mingw32
the GNAT Programming Studio
(c) 2001-2016 AdaCore

The gps_index.html file mentioned in the stack dump is empty (0 bytes) 
dated 17-May-2016 08:19

Note that this error occurred only AFTER I changed the default toolchain.

Anyone comparable experiences?

Best regards
Rob Groen


More information about the gps-users mailing list