valac crashed while compile https://github.com/amazari/lib-w3c-widgets
Submitted by Alexandre Mazari
Link to original bug (#642442)
Description
valac crashed while compile https://github.com/amazari/lib-w3c-widgets .
This project is a straight port of a java library, so the code is very un-vala and might trigger strange behaviour.
Thanks for looking at that !
Step to reproduce:
- git clone git://github.com/amazari/lib-w3c-widgets.git
- cd lib-w3c-widgets && ./autogen.sh
- make
[alexandremazari@localhost lib-w3c-widgets]$ valac --version Vala 0.11.5
Stacktrace:
[New LWP 2715] [Thread debugging using libthread_db enabled] Core was generated by `/usr/bin/valac --disable-warnings --library w3c-widgets -H w3c-widgets.h --pkg'. Program terminated with signal 11, Segmentation fault.
#0 0x0000003c6e377d2d in vala_error_type_get_error_domain (self=0x42e2ac0 [ValaStructValueType]) at valaerrortype.c:723
723 result = self->priv->_error_domain;
Thread 1 (Thread 0x7f82e5058720 (LWP 2715)):
#0 0x0000003c6e377d2d in vala_error_type_get_error_domain (self=0x42e2ac0 [ValaStructValueType]) at valaerrortype.c:723
result = <optimized out>
__PRETTY_FUNCTION__ = "vala_error_type_get_error_domain"
#1 0x0000003c6e316175 in vala_gerror_module_real_visit_catch_clause (base=0x24441d0 [ValaGDBusServerModule], clause=0x3c2a390 [ValaCatchClause]) at valagerrormodule.c:1564
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = <optimized out>
_tmp1_ = 0x42e2ac0 [ValaStructValueType]
error_type = 0x42e2ac0 [ValaStructValueType]
_tmp2_ = 0x0
_tmp4_ = 0x0
_tmp5_ = 0x0
_tmp6_ = 0x0
variable_name = 0x0
_tmp7_ = 0x0
_tmp13_ = 0x0
_tmp32_ = 0x0
_tmp33_ = 0x0
_tmp34_ = <optimized out>
_tmp35_ = 0x0
_tmp36_ = <optimized out>
_tmp37_ = 0x0
_tmp38_ = 0x0
__PRETTY_FUNCTION__ = "vala_gerror_module_real_visit_catch_clause"
#2 0x0000003c6e316649 in vala_gerror_module_real_visit_try_statement (base=0x24441d0 [ValaGDBusServerModule], stmt=0x2618200 [ValaTryStatement]) at valagerrormodule.c:1512
_tmp17_ = 0x4746e80 [ValaCCodeFunction]
_tmp19_ = 0x0
_tmp16_ = 0x3c2a390
clause = 0x3c2a390 [ValaCatchClause]
_tmp18_ = <optimized out>
_tmp15_ = 1
_clause_size = 1
_clause_index = 0
_tmp14_ = 0x3ca9610 [ValaArrayList]
_clause_list = 0x3ca9610 [ValaArrayList]
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = 1
this_try_id = 1
_tmp1_ = <optimized out>
_tmp2_ = 0x0
old_try = 0x0
old_try_id = 0
old_is_in_catch = 0
_tmp3_ = <optimized out>
_tmp4_ = 0x0
old_catch = 0x0
_tmp13_ = <optimized out>
_tmp20_ = 0x0
_tmp21_ = 0x0
_tmp22_ = <optimized out>
_tmp23_ = 0x0
_tmp25_ = <optimized out>
__PRETTY_FUNCTION__ = "vala_gerror_module_real_visit_try_statement"
#3 0x0000003c6e27d66f in vala_ccode_base_module_real_visit_block (base=0x24441d0 [ValaGDBusServerModule], b=0x3c9e120 [ValaBlock]) at valaccodebasemodule.c:7699
_tmp393_ = 0x2618200
stmt = 0x2618200
_tmp391_ = 0x2e16b40 [ValaArrayList]
_stmt_list = 0x2e16b40 [ValaArrayList]
_tmp392_ = 11
_stmt_size = 11
_stmt_index = 1
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = <optimized out>
local_vars = <optimized out>
_tmp1_ = <optimized out>
_tmp2_ = <optimized out>
_tmp5_ = <optimized out>
_tmp408_ = 0x0
_tmp428_ = <optimized out>
_tmp448_ = 0
_tmp449_ = 0x0
__PRETTY_FUNCTION__ = "vala_ccode_base_module_real_visit_block"
#4 0x0000003c6e29cc92 in vala_ccode_method_module_real_visit_method (base=<optimized out>, m=<optimized out>) at valaccodemethodmodule.c:2818
_tmp483_ = <optimized out>
self = <optimized out>
_tmp0_ = <optimized out>
_tmp1_ = <optimized out>
in_gobject_creation_method = 0
in_fundamental_creation_method = 0
_tmp2_ = <optimized out>
_tmp11_ = <optimized out>
_tmp12_ = <optimized out>
_tmp13_ = 0x3c2a300 [ValaVoidType]
creturn_type = 0x3c2a300 [ValaVoidType]
_tmp14_ = <optimized out>
_tmp15_ = <optimized out>
_tmp18_ = <optimized out>
_tmp19_ = <optimized out>
_tmp24_ = <optimized out>
_tmp25_ = <optimized out>
_tmp26_ = <optimized out>
function = 0x4746e80 [ValaCCodeFunction]
_tmp33_ = <optimized out>
_tmp34_ = 0x0
_tmp35_ = 0x4746e80 [ValaCCodeFunction]
_tmp36_ = 0x4746e80 [ValaCCodeFunction]
_tmp37_ = <optimized out>
_tmp39_ = 0x46d0c90 [ValaHashMap]
cparam_map = 0x46d0c90 [ValaHashMap]
_tmp40_ = <optimized out>
_tmp41_ = <optimized out>
_tmp66_ = <optimized out>
_tmp71_ = <optimized out>
_tmp72_ = <optimized out>
_tmp482_ = <optimized out>
_tmp484_ = 0
_tmp485_ = <optimized out>
_tmp577_ = 0
_tmp578_ = <optimized out>
_tmp603_ = 0
_tmp604_ = 0
_tmp605_ = 0
_tmp606_ = <optimized out>
_tmp613_ = <optimized out>
__PRETTY_FUNCTION__ = "vala_ccode_method_module_real_visit_method"
#5 0x0000003c6e353455 in vala_class_real_accept_children (base=0x3ac2f80 [ValaClass], visitor=0x24441d0 [ValaGDBusServerModule]) at valaclass.c:1824
_tmp17_ = 0x3c9c320
m = 0x3c9c320 [ValaMethod]
_tmp15_ = 0x3c97540 [ValaArrayList]
_m_list = 0x3c97540 [ValaArrayList]
_tmp16_ = 5
_m_size = 5
_m_index = 4
self = 0x3ac2f80 [ValaClass]
_tmp24_ = 0x0
__PRETTY_FUNCTION__ = "vala_class_real_accept_children"
#6 0x0000003c6e335ae6 in vala_gtype_module_real_visit_class (base=0x24441d0 [ValaGDBusServerModule], cl=0x3ac2f80 [ValaClass]) at valagtypemodule.c:2966
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = <optimized out>
_tmp1_ = <optimized out>
_tmp2_ = <optimized out>
old_param_spec_struct = <optimized out>
_tmp3_ = 0x0
old_prop_enum = 0x0
_tmp4_ = 0x0
old_class_init_context = 0x0
_tmp5_ = 0x0
old_base_init_context = 0x0
_tmp6_ = 0x0
old_class_finalize_context = 0x0
_tmp7_ = 0x0
old_base_finalize_context = 0x0
_tmp8_ = 0x0
old_instance_init_context = 0x0
_tmp9_ = 0x0
old_instance_finalize_context = 0x0
_tmp10_ = <optimized out>
is_gtypeinstance = 1
_tmp11_ = 1
is_fundamental = 1
_tmp13_ = <optimized out>
_tmp14_ = 0x0
_tmp15_ = <optimized out>
_tmp16_ = <optimized out>
_tmp22_ = <optimized out>
_tmp23_ = <optimized out>
_tmp24_ = <optimized out>
_tmp25_ = 0x0
_tmp26_ = <optimized out>
_tmp27_ = 0x0
_tmp28_ = <optimized out>
_tmp29_ = <optimized out>
_tmp30_ = <optimized out>
_tmp31_ = <optimized out>
_tmp32_ = <optimized out>
_tmp33_ = <optimized out>
_tmp34_ = <optimized out>
_tmp35_ = <optimized out>
_tmp36_ = <optimized out>
_tmp37_ = <optimized out>
_tmp38_ = <optimized out>
_tmp39_ = <optimized out>
_tmp40_ = <optimized out>
_tmp41_ = <optimized out>
_tmp42_ = <optimized out>
_tmp43_ = <optimized out>
_tmp203_ = <optimized out>
_tmp204_ = <optimized out>
_tmp205_ = <optimized out>
_tmp206_ = <optimized out>
_tmp207_ = <optimized out>
_tmp208_ = <optimized out>
_tmp209_ = <optimized out>
_tmp210_ = <optimized out>
_tmp211_ = <optimized out>
_tmp212_ = <optimized out>
_tmp213_ = <optimized out>
_tmp214_ = <optimized out>
_tmp215_ = <optimized out>
_tmp216_ = <optimized out>
_tmp217_ = <optimized out>
_tmp218_ = <optimized out>
__PRETTY_FUNCTION__ = "vala_gtype_module_real_visit_class"
#7 0x0000003c6e3218f4 in vala_gobject_module_real_visit_class (base=0x24441d0 [ValaGDBusServerModule], cl=0x3ac2f80 [ValaClass]) at valagobjectmodule.c:508
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = <optimized out>
#8 0x0000003c6e315d8f in vala_gd_bus_server_module_real_visit_class (base=0x24441d0 [ValaGDBusServerModule], cl=0x3ac2f80 [ValaClass]) at valagdbusservermodule.c:6400
self = 0x24441d0 [ValaGDBusServerModule]
#9 0x0000003c6e4145e9 in vala_source_file_accept_children (self=<optimized out>, visitor=0x24441d0 [ValaGDBusServerModule]) at valasourcefile.c:429
_tmp2_ = 0x3ac2f80
node = 0x3ac2f80 [ValaClass]
_node_list = 0x2450930 [ValaArrayList]
_tmp1_ = 6
_tmp0_ = 0x2450930 [ValaArrayList]
_node_size = 6
_node_index = 0
__PRETTY_FUNCTION__ = "vala_source_file_accept_children"
#10 0x0000003c6e261638 in vala_ccode_base_module_real_visit_source_file (base=0x24441d0 [ValaGDBusServerModule], source_file=0x244da00) at valaccodebasemodule.c:1947
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = <optimized out>
_tmp1_ = <optimized out>
_tmp2_ = <optimized out>
_tmp3_ = <optimized out>
_tmp4_ = <optimized out>
_tmp5_ = <optimized out>
_tmp6_ = 0x46c0cf0 [ValaHashSet]
_tmp7_ = 0x46c0cf0 [ValaHashSet]
_tmp8_ = <optimized out>
_tmp9_ = 0x0
_tmp10_ = <optimized out>
_tmp11_ = <optimized out>
_tmp12_ = 0x0
comments = <optimized out>
_tmp18_ = 0x0
_tmp19_ = <optimized out>
_tmp20_ = 0x0
_tmp21_ = <optimized out>
_tmp22_ = <optimized out>
_tmp23_ = <optimized out>
_tmp24_ = <optimized out>
_tmp29_ = <optimized out>
__PRETTY_FUNCTION__ = "vala_ccode_base_module_real_visit_source_file"
#11 0x0000003c6e265da6 in vala_ccode_base_module_real_emit (base=0x24441d0 [ValaGDBusServerModule], context=0x2430000) at valaccodebasemodule.c:1397
_tmp202_ = 0x244da00
file = 0x244da00
_tmp203_ = <optimized out>
_tmp204_ = <optimized out>
_file_list = 0x2432070 [ValaArrayList]
_tmp201_ = 54
_tmp200_ = 0x2432070 [ValaArrayList]
_file_size = 54
_file_index = 27
self = 0x24441d0 [ValaGDBusServerModule]
_tmp0_ = <optimized out>
_tmp1_ = <optimized out>
_tmp2_ = <optimized out>
_tmp3_ = <optimized out>
_tmp4_ = <optimized out>
_tmp5_ = <optimized out>
_tmp6_ = <optimized out>
_tmp7_ = <optimized out>
_tmp8_ = <optimized out>
_tmp9_ = <optimized out>
_tmp10_ = <optimized out>
_tmp11_ = <optimized out>
_tmp12_ = <optimized out>
_tmp13_ = <optimized out>
_tmp14_ = <optimized out>
_tmp15_ = <optimized out>
_tmp16_ = <optimized out>
_tmp17_ = <optimized out>
_tmp18_ = <optimized out>
_tmp19_ = <optimized out>
_tmp20_ = <optimized out>
_tmp21_ = <optimized out>
_tmp22_ = <optimized out>
_tmp23_ = <optimized out>
_tmp24_ = <optimized out>
_tmp25_ = <optimized out>
_tmp26_ = <optimized out>
_tmp27_ = <optimized out>
_tmp28_ = <optimized out>
_tmp29_ = <optimized out>
_tmp30_ = <optimized out>
_tmp31_ = <optimized out>
_tmp32_ = <optimized out>
_tmp33_ = <optimized out>
_tmp34_ = <optimized out>
_tmp35_ = <optimized out>
_tmp36_ = <optimized out>
_tmp37_ = <optimized out>
_tmp38_ = <optimized out>
_tmp39_ = <optimized out>
_tmp40_ = <optimized out>
_tmp41_ = <optimized out>
_tmp42_ = <optimized out>
_tmp43_ = <optimized out>
_tmp44_ = <optimized out>
_tmp45_ = <optimized out>
_tmp46_ = <optimized out>
_tmp47_ = <optimized out>
_tmp48_ = <optimized out>
_tmp49_ = <optimized out>
_tmp50_ = <optimized out>
_tmp51_ = <optimized out>
_tmp52_ = <optimized out>
_tmp53_ = <optimized out>
_tmp54_ = <optimized out>
_tmp55_ = <optimized out>
_tmp56_ = <optimized out>
_tmp57_ = <optimized out>
_tmp58_ = <optimized out>
_tmp59_ = <optimized out>
_tmp60_ = <optimized out>
_tmp61_ = <optimized out>
_tmp62_ = <optimized out>
_tmp63_ = <optimized out>
_tmp64_ = <optimized out>
_tmp65_ = <optimized out>
_tmp66_ = <optimized out>
_tmp67_ = <optimized out>
_tmp68_ = <optimized out>
_tmp69_ = <optimized out>
_tmp70_ = <optimized out>
_tmp71_ = <optimized out>
_tmp72_ = <optimized out>
_tmp73_ = <optimized out>
_tmp74_ = <optimized out>
_tmp75_ = <optimized out>
_tmp76_ = <optimized out>
_tmp77_ = <optimized out>
_tmp78_ = <optimized out>
_tmp79_ = <optimized out>
_tmp80_ = <optimized out>
_tmp81_ = <optimized out>
_tmp82_ = <optimized out>
_tmp83_ = <optimized out>
_tmp84_ = <optimized out>
_tmp85_ = <optimized out>
_tmp86_ = <optimized out>
_tmp87_ = <optimized out>
_tmp88_ = <optimized out>
_tmp89_ = <optimized out>
_tmp90_ = <optimized out>
_tmp91_ = <optimized out>
_tmp92_ = <optimized out>
_tmp93_ = <optimized out>
_tmp94_ = <optimized out>
_tmp95_ = <optimized out>
_tmp96_ = <optimized out>
_tmp97_ = <optimized out>
_tmp98_ = <optimized out>
_tmp99_ = <optimized out>
_tmp100_ = <optimized out>
_tmp101_ = <optimized out>
_tmp102_ = <optimized out>
_tmp103_ = <optimized out>
_tmp104_ = <optimized out>
unichar_struct = 0x25038f0 [ValaStruct]
_tmp107_ = <optimized out>
_tmp195_ = <optimized out>
_tmp196_ = <optimized out>
_tmp197_ = <optimized out>
_tmp198_ = <optimized out>
_tmp199_ = 0x2432070 [ValaArrayList]
source_files = 0x2432070 [ValaArrayList]
_tmp208_ = 0x0
_tmp218_ = 0x0
_tmp229_ = 0x0
__PRETTY_FUNCTION__ = "vala_ccode_base_module_real_emit"
#12 0x00000000004055f8 in vala_compiler_run (self=0x242c000) at valacompiler.c:985
result = 0
_tmp0_ = <optimized out>
_tmp1_ = <optimized out>
_tmp2_ = <optimized out>
_tmp3_ = <optimized out>
_tmp10_ = <optimized out>
_tmp11_ = <optimized out>
_tmp12_ = <optimized out>
_tmp20_ = <optimized out>
_tmp21_ = <optimized out>
_tmp22_ = <optimized out>
_tmp23_ = <optimized out>
_tmp24_ = <optimized out>
_tmp25_ = <optimized out>
_tmp34_ = <optimized out>
_tmp50_ = <optimized out>
_tmp51_ = <optimized out>
_tmp52_ = <optimized out>
_tmp57_ = <optimized out>
has_c_files = <optimized out>
_tmp72_ = 0x0
_tmp73_ = <optimized out>
_tmp74_ = <optimized out>
_tmp75_ = <optimized out>
_tmp80_ = 0x2423230 [ValaParser]
parser = 0x2423230 [ValaParser]
_tmp81_ = 0x243a1e0 [ValaGenieParser]
genie_parser = 0x243a1e0 [ValaGenieParser]
_tmp82_ = 0x3cfa9e0 [ValaGirParser]
gir_parser = 0x3cfa9e0 [ValaGirParser]
_tmp83_ = <optimized out>
_tmp84_ = <optimized out>
_tmp85_ = <optimized out>
_tmp92_ = <optimized out>
_tmp93_ = <optimized out>
_tmp94_ = <optimized out>
_tmp99_ = <optimized out>
_tmp100_ = <optimized out>
_tmp104_ = <optimized out>
_tmp105_ = <optimized out>
_tmp106_ = <optimized out>
_tmp111_ = <optimized out>
_tmp112_ = 0
_tmp113_ = 0x0
_tmp114_ = <optimized out>
_tmp119_ = 0
_tmp170_ = <optimized out>
__PRETTY_FUNCTION__ = "vala_compiler_run"
#13 0x0000000000403e6d in vala_compiler_main (args_length1=1, args=0x7fffa3b86b98) at valacompiler.c:1615
_tmp1_ = <optimized out>
_tmp7_ = <optimized out>
_tmp8_ = <optimized out>
_inner_error_ = 0x0
_tmp2_ = 0x0
r = 0x242c000
result = 0
_tmp0_ = <optimized out>
opt_context = <optimized out>
_tmp9_ = 0x242c000
_tmp10_ = <optimized out>
_tmp3_ = <optimized out>
#14 main (argc=<optimized out>, argv=<optimized out>) at valacompiler.c:1624
No locals.
From To Syms Read Shared Object Library
0x0000003c6e251c00 0x0000003c6e443c4c Yes /usr/lib64/libvala-0.12.so.0.0.0
0x0000003c68609910 0x0000003c68639d3c Yes /lib64/libgobject-2.0.so.0.2800.0
0x0000003c67e01560 0x0000003c67e02a1c Yes /lib64/libgthread-2.0.so.0.2800.0
0x0000003c65a02190 0x0000003c65a055cc Yes /lib64/librt-2.13.90.so
0x0000003c66a16c40 0x0000003c66aadbac Yes /lib64/libglib-2.0.so.0.2800.0
0x0000003c65205680 0x0000003c65210b5c Yes /lib64/libpthread-2.13.90.so
0x0000003c64a1eb60 0x0000003c64b428cc Yes /lib64/libc-2.13.90.so
0x0000003c64600b20 0x0000003c6461929a Yes /lib64/ld-2.13.90.so
$1 = 0x0
$2 = 0x0
rax 0x0 0
rbx 0x24441d0 38027728
rcx 0x0 0
rdx 0x3c654172c0 259396825792
rsi 0x1 1
rdi 0x42e2ac0 70134464
rbp 0x3c2a390 0x3c2a390
rsp 0x7fffa3b86420 0x7fffa3b86420
r8 0x474e590 74769808
r9 0x1 1
r10 0x1 1
r11 0x246 582
r12 0x42e2ac0 70134464
r13 0x4746e80 74739328
r14 0x1 1
r15 0x3ca9610 63608336
rip 0x3c6e377d2d 0x3c6e377d2d <vala_error_type_get_error_domain+13>
eflags 0x10206 [ PF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
Dump of assembler code for function vala_error_type_get_error_domain:
0x0000003c6e377d20 <+0>: sub $0x8,%rsp
0x0000003c6e377d24 <+4>: test %rdi,%rdi
0x0000003c6e377d27 <+7>: je 0x3c6e377d38 <vala_error_type_get_error_domain+24>
0x0000003c6e377d29 <+9>: mov 0x30(%rdi),%rax
=> 0x0000003c6e377d2d <+13>: mov (%rax),%rax
0x0000003c6e377d30 <+16>: add $0x8,%rsp
0x0000003c6e377d34 <+20>: retq
0x0000003c6e377d35 <+21>: nopl (%rax)
0x0000003c6e377d38 <+24>: lea 0xcbfa1(%rip),%rdx # 0x3c6e443ce0
0x0000003c6e377d3f <+31>: lea 0xee0fa(%rip),%rsi # 0x3c6e465e40 <__PRETTY_FUNCTION__.11629>
0x0000003c6e377d46 <+38>: xor %edi,%edi
0x0000003c6e377d48 <+40>: callq 0x3c6e24cde0 <g_return_if_fail_warning@plt>
0x0000003c6e377d4d <+45>: xor %eax,%eax
0x0000003c6e377d4f <+47>: add $0x8,%rsp
0x0000003c6e377d53 <+51>: retq
End of assembler dump.
Version: 0.11.x