Assigning a closure to a variable when targetting libc results in a critical
Used valac assign_lambda_expression.vala --profile posix --ccode
to compile the following:
delegate void TestDelegate ();
void main () {
TestDelegate a = ()=> {};
}
and got:
** (valac:19646): CRITICAL **: vala_get_ccode_prefix: assertion 'sym != NULL' failed
The backtrace when using G_DEBUG=fatal-criticals
and gdb is:
#0 0x00007ffff6a4486b in g_logv () at /lib64/libglib-2.0.so.0
#1 0x00007ffff6a449df in g_log () at /lib64/libglib-2.0.so.0
#2 0x00007ffff71cf96b in vala_get_ccode_prefix (sym=<optimized out>) at /home/al/software_projects/vala_source/source/codegen/valaccode.vala:136
#3 0x00007ffff71df2e2 in vala_ccode_attribute_get_name (self=0xaa7de0)
at /home/al/software_projects/vala_source/source/codegen/valaccodeattribute.vala:711
#4 0x00007ffff71df2e2 in vala_ccode_attribute_get_name (self=0xaa7de0)
at /home/al/software_projects/vala_source/source/codegen/valaccodeattribute.vala:39
#5 0x00007ffff71cf6a6 in vala_get_ccode_name (node=node@entry=0xaa2d90) at /home/al/software_projects/vala_source/source/codegen/valaccode.vala:41
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#6 0x00007ffff7242ec9 in vala_ccode_delegate_module_real_generate_delegate_declaration (base=0x6382d0, d=0xaa2d90, decl_space=)
at /home/al/software_projects/vala_source/source/codegen/valaccodedelegatemodule.vala:31
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#7 0x00007ffff71f124a in vala_ccode_base_module_generate_delegate_declaration (self=self@entry=0x6382d0, d=d@entry=0xaa2d90, decl_space=decl_space@
try=) at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:1544
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#8 0x00007ffff71f37ee in vala_ccode_base_module_generate_type_declaration (self=self@entry=0x6382d0, type=0xa9fee0, decl_space=decl_space@entry=)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:1500
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#9 0x00007ffff71f3aa6 in vala_ccode_base_module_generate_type_declaration (self=self@entry=0x6382d0, type=0xa90430, decl_space=)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:1504
#10 0x00007ffff721fa77 in vala_ccode_base_module_real_visit_local_variable (base=0x6382d0, local=0xa70bb0)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:2438
#11 0x00007ffff76bf36a in vala_code_visitor_visit_local_variable (self=<optimized out>, local=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valacodevisitor.vala:244
#12 0x00007ffff777cacf in vala_local_variable_real_accept (base=<optimized out>, visitor=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valalocalvariable.vala:48
#13 0x00007ffff76b9917 in vala_code_node_accept (self=<optimized out>, visitor=visitor@entry=0x6382d0)
at /home/al/software_projects/vala_source/source/vala/valacodenode.vala:82
#14 0x00007ffff71ee7cc in vala_ccode_base_module_real_visit_declaration_statement (base=0x6382d0, stmt=<optimized out>)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:2344
#15 0x00007ffff76bf30a in vala_code_visitor_visit_declaration_statement (self=<optimized out>, stmt=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valacodevisitor.vala:236
#16 0x00007ffff76d85af in vala_declaration_statement_real_emit (base=<optimized out>, codegen=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valadeclarationstatement.vala:88
#17 0x00007ffff76b9a37 in vala_code_node_emit (self=self@entry=0xa6ccb0, codegen=codegen@entry=0x6382d0)
at /home/al/software_projects/vala_source/source/vala/valacodenode.vala:97
#18 0x00007ffff7213803 in vala_ccode_base_module_real_visit_block (base=<optimized out>, b=0xa6f240)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:2294
#19 0x00007ffff76bf24a in vala_code_visitor_visit_block (self=<optimized out>, b=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valacodevisitor.vala:220
#20 0x00007ffff76a2b2f in vala_block_real_emit (base=<optimized out>, codegen=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valablock.vala:187
#21 0x00007ffff76b9a37 in vala_code_node_emit (self=<optimized out>, codegen=codegen@entry=0x6382d0)
at /home/al/software_projects/vala_source/source/vala/valacodenode.vala:97
---Type <return> to continue, or q <return> to quit---
#22 0x00007ffff7269d0a in vala_ccode_method_module_real_visit_method (base=<optimized out>, m=0xa6a300)
at /home/al/software_projects/vala_source/source/codegen/valaccodemethodmodule.vala:709
#23 0x00007ffff76bee27 in vala_code_visitor_visit_method (self=<optimized out>, m=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valacodevisitor.vala:132
#24 0x00007ffff778c7bf in vala_method_real_accept (base=<optimized out>, visitor=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valamethod.vala:257
#25 0x00007ffff76b9917 in vala_code_node_accept (self=self@entry=0xa6a300, visitor=visitor@entry=0x6382d0)
at /home/al/software_projects/vala_source/source/vala/valacodenode.vala:82
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#26 0x00007ffff781b5a8 in vala_source_file_accept_children (self=self@entry=, visitor=visitor@entry=0x6382d0)
at /home/al/software_projects/vala_source/source/vala/valasourcefile.vala:218
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#27 0x00007ffff71fe755 in vala_ccode_base_module_real_visit_source_file (base=0x6382d0, source_file=)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:768
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#28 0x00007ffff76be9a7 in vala_code_visitor_visit_source_file (self=self@entry=0x6382d0, source_file=source_file@entry=)
at /home/al/software_projects/vala_source/source/vala/valacodevisitor.vala:36
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#29 0x00007ffff781b494 in vala_source_file_accept (self=self@entry=, visitor=visitor@entry=0x6382d0)
at /home/al/software_projects/vala_source/source/vala/valasourcefile.vala:213
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#30 0x00007ffff71fa50b in vala_ccode_base_module_real_emit (base=0x6382d0, context=)
at /home/al/software_projects/vala_source/source/codegen/valaccodebasemodule.vala:535
#31 0x00007ffff76b8c8a in vala_code_generator_emit (self=<optimized out>, context=<optimized out>)
at /home/al/software_projects/vala_source/source/vala/valacodegenerator.vala:32
Python Exception <class 'ValueError'> Variable 'static_fundamental_type_nodes' not found.:
#32 0x00000000004074c9 in vala_compiler_run (self=self@entry=) at /home/al/software_projects/vala_source/source/compiler/valacompiler.vala:411
#33 0x00000000004049b2 in main (args_length1=1, args=0x7fffffffde98) at /home/al/software_projects/vala_source/source/compiler/valacompiler.vala:640
#34 0x00000000004049b2 in main (argc=<optimized out>, argv=<optimized out>)
at /home/al/software_projects/vala_source/source/compiler/valacompiler.vala:607