Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

edts_code:refresh() causes mnesia to crash #59

Closed
josephDunne opened this issue Apr 12, 2013 · 3 comments
Closed

edts_code:refresh() causes mnesia to crash #59

josephDunne opened this issue Apr 12, 2013 · 3 comments

Comments

@josephDunne
Copy link
Contributor

Any call to edts_code:refresh() with a system running mnesia causes a crash when mnesia_late_loader module is purged and reloaded:

=SUPERVISOR REPORT==== 12-Apr-2013::23:25:16 ===
     Supervisor: {local,mnesia_kernel_sup}
     Context:    child_terminated
     Reason:     killed
     Offender:   [{pid,<0.207.0>},
                  {name,mnesia_late_loader},
                  {mfargs,{mnesia_late_loader,start,[]}},
                  {restart_type,permanent},
                  {shutdown,3000},
                  {child_type,worker}]

which brings down the VM. We need a way to only reload modules specific to the project. Unfortunately the mnesia directory is not marked as sticky (http://www.erlang.org/doc/man/code.html#is_sticky-1) so the code is purged resulting in the above error

@tjarvstrand
Copy link
Collaborator

Yeah, that's not so good :) Perhaps a better solution would be to only reload modules that have actually been changed. I would like edts to work for otp-development as well as other projects.

@tjarvstrand
Copy link
Collaborator

Try it now.

@josephDunne
Copy link
Contributor Author

Awesome thanks that works. I'll try recreate this issue on an OTP build (our project structure is a little complicated) and let you know.

Thanks for the awesome project!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants