This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ada/42073] [4.4 regression] Infinite loop when parsing a project file, alpha only



------- Comment #6 from ludovic at ludovic-brenta dot org  2009-11-18 22:09 -------
With a stock GCC 4.4.2 bootstrapped with the default options (-g -O2, I think)
on alpha the symptoms are the same.  Here is a backtrace:

(gdb) run -vP2 -Pp
Starting program: /home/lbrenta/gcc-obj/gcc/gnatmake -vP2 -Pp
GPR_PROJECT_PATH=".:/home/lbrenta/gcc/lib/gcc/alphaev68-unknown-linux-gnu/4.4.2/../../../gnat"
Project_Path_Name_Of ("p", "/home/lbrenta/");
   Trying /home/lbrenta//p.gpr
Project_Name_From ("/home/lbrenta/p.gpr")
^C
Program received signal SIGINT, Interrupt.
0x00000001200f8ed8 in prj.part.parse_single_project (in_tree=0x1205fc3e0,
path_name=<value optimized out>, extended=<value optimized out>,
    from_extended=<value optimized out>, in_limited=false,
packages_to_check=..., depth=0, current_dir=...)
    at /home/lbrenta/gcc-4.4.2/gcc/ada/prj-part.adb:1104
1104               Tree_Private_Part.Projects_Htable.Get_Next
(In_Tree.Projects_HT);
(gdb) bt
#0  0x00000001200f8ed8 in prj.part.parse_single_project (in_tree=0x1205fc3e0,
path_name=<value optimized out>, extended=<value optimized out>,
    from_extended=<value optimized out>, in_limited=false,
packages_to_check=..., depth=0, current_dir=...)
    at /home/lbrenta/gcc-4.4.2/gcc/ada/prj-part.adb:1104
#1  0x00000001200fb020 in prj.part.parse (in_tree=0x1205fc3e0,
project_file_name=<value optimized out>,
    always_errout_finalize=<value optimized out>, packages_to_check=<value
optimized out>, store_comments=false, current_directory=...)
    at /home/lbrenta/gcc-4.4.2/gcc/ada/prj-part.adb:525
#2  0x00000001200f4878 in prj.pars.parse (in_tree=<value optimized out>,
project_file_name=..., packages_to_check=...,
    when_no_sources=<value optimized out>, reset_tree=true) at
/home/lbrenta/gcc-4.4.2/gcc/ada/prj-pars.adb:63
#3  0x00000001200858f8 in make.initialize () at
/home/lbrenta/gcc-4.4.2/gcc/ada/make.adb:6993
#4  0x00000001200866cc in make.gnatmake () at
/home/lbrenta/gcc-4.4.2/gcc/ada/make.adb:4708
#5  0x0000000120067708 in gnatmake () at
/home/lbrenta/gcc-4.4.2/gcc/ada/gnatmake.adb:38
(gdb) p In_Tree.Projects_HT
$4 = (access prj.tree.tree_private_part.projects_htable.tab.instance_data) 0x0

The infinite loop appears to be the loop starting at prj-pars.adb:1048 (frame
#0 in the above backtrace).  I'll attach a disassembly.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42073


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]