[erlang-bugs] R13A Internal compiler error when using a record in a guard within a try/catch block

David Sveningsson <>
Thu Apr 16 17:06:09 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bjorn Gustavsson wrote:
> On Thu, Apr 16, 2009 at 2:40 PM, David Sveningsson <> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Hi, when compiling the attached code with R13A erlc the compiler crashes
>> with the following error:
>>
>> Function: do_stuff/1
>> temp/test.erl:none: internal error in v3_codegen;
>> crash reason: {{case_clause,
>>                   {'EXIT',
>>                       {function_clause,
>>                           [{v3_codegen,longest,[[{ker0}],[]]},
>>                            {v3_codegen,longest,2},
>>                            {v3_codegen,sr_merge,2},
>>                            {v3_codegen,match_cg,5},
>>                            {v3_codegen,guard_match_cg,6},
>>                            {v3_codegen,guard_cg,5},
>>                            {v3_codegen,'-guard_cg_list/6-anonymous-0-',4},
>>                            {v3_codegen,flatmapfoldl,3}]}}},
>>               [{compile,'-select_passes/2-anonymous-2-',2},
>>                {compile,'-internal_comp/4-anonymous-1-',2},
>>                {compile,fold_comp,3},
>>                {compile,internal_comp,4},
>>                {compile,internal,3}]}
>>
>> There are many ways to workaround this:
>>
>> * Removing the try/catch block.
>> * Putting the case block in a separate functions.
>> * Assigning Foo#foo.bar to a local variable and use in guard instead.
>>
>> Either way, the compiler shouldn't crash. It is possible that this issue
>> is already fixed as I've read some similar reports related to try/catch.
> 
> Yes, it shouldn't crash, and, yes, it has already been fixed. The correction
> will be included in the R13B release.
> 
> /Björn
> 

Ok, thanks!

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknnSQAACgkQ6pa1H/H5pqVt4gCgnEfuEXzYeLQcZSQwFe96qZOa
ZBgAn3GGvzK39xMzi2b7WNSRpD0TAlTh
=MCnj
-----END PGP SIGNATURE-----



More information about the erlang-bugs mailing list