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

Hit java.lang.RuntimePermission createClassLoader while long run ISPRMGR VAR9 #8

Closed
thinkhy opened this issue May 9, 2014 · 1 comment
Assignees
Milestone

Comments

@thinkhy
Copy link
Owner

thinkhy commented May 9, 2014

Hit below error while running ISPRMGR VAR9:

Lacked permission: (java.lang.RuntimePermission createClassLoader)
java.lang.SecurityException
at nachos.security.NachosSecurityManager.no(NachosSecurityManager.java:167)
at nachos.security.NachosSecurityManager.checkPermission(NachosSecurityManager.java:183)
at java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:606)
at java.lang.ClassLoader.(ClassLoader.java:145)
at sun.reflect.DelegatingClassLoader.(DelegatingClassLoader.java:19)
at sun.reflect.DelegatingClassLoader.(DelegatingClassLoader.java:28)
at sun.reflect.ClassDefiner$1.run(ClassDefiner.java:54)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:51)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:437)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:433)
at sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:54)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at java.lang.Class.lookupCachedConstructor(Class.java:2536)
at java.lang.Class.getConstructor(Class.java:305)
at nachos.machine.Lib.constructObject(Lib.java:507)
at nachos.userprog.UserProcess.newUserProcess(UserProcess.java:78)
at nachos.userprog.UserProcess.handleExec(UserProcess.java:891)
at nachos.userprog.UserProcess.handleSyscall(UserProcess.java:1085)
at nachos.userprog.UserProcess.handleException(UserProcess.java:1111)
at nachos.userprog.UserKernel.exceptionHandler(UserKernel.java:105)
at nachos.userprog.UserKernel$1.run(UserKernel.java:42)
at nachos.machine.Processor$MipsException.handle(Processor.java:603)
at nachos.machine.Processor.run(Processor.java:101)
at nachos.userprog.UThread.runProgram(UThread.java:31)
at nachos.userprog.UThread.access$000(UThread.java:11)
at nachos.userprog.UThread$1.run(UThread.java:20)
at nachos.threads.KThread.runThread(KThread.java:162)
at nachos.threads.KThread.access$000(KThread.java:30)
at nachos.threads.KThread$1.run(KThread.java:150)
at nachos.machine.TCB.threadroot(TCB.java:240)
at nachos.machine.TCB.access$100(TCB.java:25)
at nachos.machine.TCB$1.run(TCB.java:93)
at java.lang.Thread.run(Thread.java:738)

@thinkhy thinkhy added this to the Project 2 milestone May 9, 2014
@thinkhy thinkhy self-assigned this May 9, 2014
thinkhy added a commit that referenced this issue May 9, 2014
@thinkhy
Copy link
Owner Author

thinkhy commented May 9, 2014

The problem is caused by TCB.authorizedDestroy

UserProcess.handleExit ==>
   ==> KThread.finish
       ==> AutoGrader.finishingCurrentThread
           ==> TCB.authorizedDestory which DOESN'T  kill a thread!

thinkhy added a commit that referenced this issue May 9, 2014
@thinkhy thinkhy closed this as completed Jun 1, 2014
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

1 participant