<div dir="ltr">2008/10/8 martin kjellin <span dir="ltr"><<a href="mailto:martin.kjellin@mobilearts.com">martin.kjellin@mobilearts.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello<br>
<br>
I've attached segfault.beam, compiled with R9C2, that when loaded into a R12B4 system causes erlang to segfault when segfault:module_info() is called. Calling module_info() on the same beam works in R11B5 (and R9C2). Attached is also the source code (it's not a very complicated module...) but it's not a straighforward map between the erl- and beam-file as there's a parse transform involved.<br>

</blockquote></div><br>Thanks!<br><br>The problem is that the implementation of module_info/0,1 was implemented in a different way in R9C and earlier - using special instructions inserted by the loader. Those instructions no longer work reliably in R12B due to the new garbage-collection algorithm needed to support the constant pools.<br>
<br>Since R12B can only load trivial R9C modules anyway, R12B-5 will refuse to load modules compiled by R9C or earlier.<br><br>/Bjorn<br>-- <br>Björn Gustavsson, Erlang/OTP, Ericsson AB<br>
</div>