From: Sylvain P. <syl...@ya...> - 2003-03-30 14:24:03
|
Hello, I wanted to run a cgi php page inside uml, and it froze uml completely, with a process eating 100% cpu. I did not manage to find where it exactly looped. The backtrace had no symbols, as it was in the user pages. I decided to write a small loop process: int main() { for(;;); } If executed, uml is completely frozen and unresponsive. I just wanted to know if this was the normal behaviour, or if there was a way to prevent this to happen (as it would be easy for any user to lock an uml box). Thanks Sylvain |
From: Christopher S. A. <ca...@th...> - 2003-03-30 17:29:13
|
> I decided to write a small loop process: > > int main() { > for(;;); > } > > If executed, uml is completely frozen and unresponsive. I just wanted to > know if this was the normal behaviour, or if there was a way to prevent > this to happen (as it would be easy for any user to lock an uml box). I compiled and ran your test, and the results were the same as with my variation on the same kind of test - completely fine - I can run this program, and control-c it to stop, other processes work just fine. It does consume 100% of the CPU, but acts as expected. What is your host kernel version and UML version, and more importantly, are you running in SKAS or TT mode? I suspect you're using TT mode, as it relies more on the host's scheduler (since there is one process on the host for every process in UML in TT mode). If you are running in TT mode, either get install the skas kernel module, or patch and recompile your host kernel to support SKAS and try your test again... -Chris |
From: Sylvain P. <syl...@ya...> - 2003-03-30 21:42:19
|
> I compiled and ran your test, and the results were the same as with my variation > on the same kind of test - completely fine - I can run this program, and control-c > it to stop, other processes work just fine. It does consume 100% of the CPU, but > acts as expected. > > What is your host kernel version and UML version, and more importantly, are you > running in SKAS or TT mode? I suspect you're using TT mode, as it relies more on > the host's scheduler (since there is one process on the host for every process in > UML in TT mode). I'm running a 2.4.20 host and 2.4.20 uml, using TT mode. I thought the tracing thread would continue to receive signals not to let the loop process freeze uml, but it looks like not to be the case .. > If you are running in TT mode, either get install the skas kernel module, or patch > and recompile your host kernel to support SKAS and try your test again... > > -Chris The problem for me is that I use the "software suspend" patch on my kernel, and compiling both software suspend and skas makes the kernel oops on boot. But i gonna still try it with skas and I let you know. Cheers, Sylvain |