Good evening all,
I have just gotten the most recent L4 tree from CVS and did a complete UX rebuild starting from scratch.
However, after building L4 and Fiasco-UX, i cannot seem to get past this one point:
< Begin Paste ---------------------------------------->
Fiasco-UX on Linux 2.6.16.13-4-default (i686) Mapped 64 MB Memory + 0 KB Framebuffer + 0 MB Input Area on FD 3
Loading Module 0x00090000-0x00096924 [sigma0-ux] Loading Module 0x00120000-0x002bc9c4 [roottask] Copying Module 0x039be000-0x039e0c99 [hello]
Bootstrapping...
Welcome to Fiasco(ux)! DD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden Rev: Mon Jun 26 22:50:26 2006 compiled with gcc 3.4.6 for AMD Athlon
CPU: AuthenticAMD (6:8:1:0) Model: Athlon (Thoroughbred) at 1463 MHz
16/256 Entry I TLB (4K pages) 8 Entry I TLB (4M pages) 32/256 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) 64 KB L1 I Cache (2-way associative, 64 bytes per line) 64 KB L1 D Cache (2-way associative, 64 bytes per line) 256 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 24576 bytes (6 pages)
< End Paste ---------------------------------------->
I never see any output from Sigma0, RootTask, much less the Hello sample (as i see in other screenshots.)
Is there a log that can provide me some hints? Do I need to enable debug logging specifically to see Sigma0 and RootTask outputs to the screen on startup?
Further I have to kill -9 it to get unload.
I guess I should have included this in my original post, sorry for the additional email:
I am running
AMD Athlon 1.5Ghz-ish OpenSuse 10.1 KDE 3.5.x XGL-Compiz NVidia GeForce3 Proprietary Drivers
Build environment is
GCC 3.4.6 ( and hopefully not using any of the usual 4.1.x )
The command I am trying to execute is
./fiasco -l hello
Hello,
On Tue, Jun 27, 2006 at 12:07:53AM -0400, Michael J. Emswiler wrote:
Further I have to kill -9 it to get unload.
Does that mean you could not enter the kernel debugger by pressing CTRL-C?
Greets
Yes, the app hangs, so Ctrl+C does not work. I assume I *must* be doing something wrong. Either I am missing a configuration setting ... or maybe just trying to load the wrong module ...
So far with the minimal debugging I have been able to do, the app seems to hang after the
// switch to stack of kernel thread and bootstrap the kernel asm volatile (" movl %%esp, %0 \n\t" // save stack pointer in safe variable " movl %%esi, %%esp \n\t" // switch stack " call call_bootstrap \n\t" // bootstrap kernel thread : "=m" (boot_stack), "=a" (dummy), "=c" (dummy), "=d" (dummy) : "a"(kernel), "S" (kernel->init_stack()));
call in main-ia32-ux.cpp, line 56
I am about to start tracing through the call_bootstrap and kernel->init_stack() and see where it might be failing.
Also, I assume the "hello" app that is to be launched is the hello app I find in the /bin/x86_586/l4v2 tree? Or is there a separate one in the fiasco tree itself? Might I simply be attempting to load the wrong module...
FWIW, my UX run dir looks like:
memswiler@Wolverine:/usr/src/drops/bin/ux> ls -al total 12 drwxr-xr-x 2 memswiler users 4096 2006-06-27 04:09 . drwxr-xr-x 12 memswiler users 4096 2006-06-26 22:58 .. lrwxrwxrwx 1 memswiler users 27 2006-06-26 19:11 dm_phys -> ../bin/x86_586/l4v2/dm_phys -rwxr-xr-x 1 memswiler users 82 2006-06-26 19:09 dope.sh lrwxrwxrwx 1 memswiler users 28 2006-06-26 23:07 fiasco -> ../bin/x86_586/fiasco/fiasco lrwxrwxrwx 1 memswiler users 25 2006-06-27 04:09 hello -> ../bin/x86_586/l4v2/hello lrwxrwxrwx 1 memswiler users 26 2006-06-26 23:07 irq0 -> ../bin/x86_586/fiasco/irq0 lrwxrwxrwx 1 memswiler users 29 2006-06-26 19:11 l4dope-ux -> ../bin/x86_586/l4v2/l4dope-ux lrwxrwxrwx 1 memswiler users 27 2006-06-26 23:07 Lines -> ../bin/x86_586/fiasco/Lines lrwxrwxrwx 1 memswiler users 23 2006-06-26 19:11 log -> ../bin/x86_586/l4v2/log lrwxrwxrwx 1 memswiler users 25 2006-06-26 19:11 names -> ../bin/x86_586/l4v2/names lrwxrwxrwx 1 memswiler users 28 2006-06-27 04:00 pingpong -> ../bin/x86_586/l4v2/pingpong lrwxrwxrwx 1 memswiler users 28 2006-06-26 18:54 roottask -> ../bin/x86_586/l4v2/roottask lrwxrwxrwx 1 memswiler users 29 2006-06-26 19:05 sigma0-ux -> ../bin/x86_586/l4v2/sigma0-ux lrwxrwxrwx 1 memswiler users 29 2006-06-26 23:07 Symbols -> ../bin/x86_586/fiasco/Symbols lrwxrwxrwx 1 memswiler users 28 2006-06-26 23:07 ux_con -> ../bin/x86_586/fiasco/ux_con lrwxrwxrwx 1 memswiler users 30 2006-06-26 19:17 vmlinuz26.ux -> ../../l4linux-2.6/vmlinuz26.ux lrwxrwxrwx 1 memswiler users 28 2006-06-26 19:11 vscrtest -> ../bin/x86_586/l4v2/vscrtest
Trying some of the more advanced examples, i can see it even fire up ux_con module and load (and relocate?) many modules ... but ultimately, it just hangs.
Thanks, MikeE
On Tuesday 27 June 2006 03:32, Christian Helmuth wrote:
Hello,
On Tue, Jun 27, 2006 at 12:07:53AM -0400, Michael J. Emswiler wrote:
Further I have to kill -9 it to get unload.
Does that mean you could not enter the kernel debugger by pressing CTRL-C?
Greets
Hey,
I have no idea what went wrong on your machine and remote guessing is very unreliable. Maybe you could provide your binaries to us? We'll need
fiasco irq0 sigma0-ux roottask hello
Cheers
After further debugging, it appears to enter sigma0_thread->initialize(...) and executes all through to the end of the function, however, I am guessing it is changing the return instruction pointer, because it never comes back from that function to the caller, nor does it print the Sigma0 Hello message I would expect, so i haven't had time to figure out where it is actually going.
Attached is a tgz with binaries I compiled for i586. Originally, i had targeted fiasco for the Athlon specifically, since that is what I am running, but I thought I would try the i586 to see if it would make a difference.
There appears to be no difference in functionality between running i586 or Athlon fiasco binaries on my AMD.
Any insight you could offer would be greatly and humbly appreciated!
Thanks, MikeE
On Tuesday 27 June 2006 04:47, Christian Helmuth wrote:
Hey,
I have no idea what went wrong on your machine and remote guessing is very unreliable. Maybe you could provide your binaries to us? We'll need
fiasco irq0 sigma0-ux roottask hello
Cheers
Hello again,
I tried your binaries and variouss mixes with compiled binaries on Debian and OpenSUSE 10.0 (as this is, what we have here). All combinations worked, except those with your fiasco binary.
We have OpenSUSE 10.0 with GCC 3.4.3 (from http://os.inf.tu-dresden.de/opentc/download.xml resp. ftp://ftp.suse.com/pub/people/kukuk/sles9/gcc34).
I'd suggest to use a current GCC like 4.0 for building Fiasco. Unfortunately, L4 user applications must be built with GCC 3.4 as there are some dependencies to Linux 2.4 sources. But we're on the way to fix this.
Let's cross fingers that your problems magically disappear...
Greetings,
Just a quick update on my status:
I recompiled fiasco with the GCC 4.1.0.
Unfortunately, it yields the same results for me.
I get up to the same printf as you (Exiting Thread) However, i do not get a SIGSEGV with any of my fiasco binaries on OpenSuse 10.1. According to top() it continues to execute and consume from 65 to 85 % of CPU.
This is curious indeed. I was hoping this would resolve it as I was afraid my GCC 3.4.6 installation may have been referencing 4.1 includes or libs or something of that nature, but even in the pure 4.1 default environment, it does not appear to correctly jump to sigma0's main().
I will keep you posted on my progress, but I am truly at a loss for what to do next at this point.
Perhaps you could send me your 4.0 working Fiasco binary, so at least i will have a working binary I could use in the interim?
Thanks again for all your help and effort, MikeE
On Tuesday 27 June 2006 06:20, Christian Helmuth wrote:
Hello again,
I tried your binaries and variouss mixes with compiled binaries on Debian and OpenSUSE 10.0 (as this is, what we have here). All combinations worked, except those with your fiasco binary.
We have OpenSUSE 10.0 with GCC 3.4.3 (from http://os.inf.tu-dresden.de/opentc/download.xml resp. ftp://ftp.suse.com/pub/people/kukuk/sles9/gcc34).
I'd suggest to use a current GCC like 4.0 for building Fiasco. Unfortunately, L4 user applications must be built with GCC 3.4 as there are some dependencies to Linux 2.4 sources. But we're on the way to fix this.
Let's cross fingers that your problems magically disappear...
On Tue, 27 Jun 2006 00:07:53 -0400 Michael J. Emswiler (MJE) wrote:
MJE> However, after building L4 and Fiasco-UX, i cannot seem to get past this MJE> one point: MJE> MJE> Freeing init code/data: 24576 bytes (6 pages) MJE> MJE> I never see any output from Sigma0, RootTask, much less the Hello sample MJE> (as i see in other screenshots.)
Please apply the attached patch and let me know if it makes a difference.
- Udo
l4-hackers@os.inf.tu-dresden.de