Problem booting UML 2.4.26 compiled with gcc 3.3.4
Has anyone else experienced trouble with running a UML kernel 2.4.26 that was compiled with GCC 3.3.4? My instances ran perfectly fine (compiled) with GCC 2.94 but when I upgraded my GCC and recompiled everything, suddenly they started giving me trouble, ranging from tracing thread crashes to kernel mode panics.
Kris
Signature · 15 lines
Never underestimate a Mage with: - the Intelligence to cast Magic Missile, - the Constitution to survive the first hit, and - the Dexterity to run fast enough to avoid being hit a second time. ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 3 lines · Kris Van Hees
Has anyone else experienced trouble with running a UML kernel 2.4.26 that was compiled with GCC 3.3.4? My instances ran perfectly fine (compiled) with GCC 2.94
2.95.4 I guess (I think GCC 2.94 does not exist, but you may be correct, so I just ask).
Quoted 3 lines
but when I upgraded my GCC and recompiled everything, suddenly they started giving me trouble, ranging from tracing thread crashes to kernel mode panics.
Which GCC 3.3.4 and which UML?
UML 2.4.26-3 should be safe from this, older ones may not. Also, for instance, Gcc 3.3.2 from Mandrake 10.0 Official is not able to compile any UML 2.4 (no problem for UML/2.6), but like for Linux, even for GCC some vendor ship patched versions, and the problem will probably lie in the patch (since I've been using GCC 3.3.4 from Slackware to compile with success UML 2.4).
Please let me know your results.
Signature · 13 lines
Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 10 lines · Blaisorblade
Quoted 3 lines · Kris Van Hees
Has anyone else experienced trouble with running a UML kernel 2.4.26 that was compiled with GCC 3.3.4? My instances ran perfectly fine (compiled) with GCC 2.94
2.95.4 I guess (I think GCC 2.94 does not exist, but you may be correct, so I just ask).
Quoted 3 lines
but when I upgraded my GCC and recompiled everything, suddenly they started giving me trouble, ranging from tracing thread crashes to kernel mode panics.
Which GCC 3.3.4 and which UML?
Everything is running on a debian (stable) system, 3.0r3, so the older GCC is actually 2.95.4 (sorry for the typo in my original message), and the new one (installed from testing because I need it for Xen) is GCC 3.3.4. I am using the stock 2.4.26 kernel, and UML patch uml-patch-2.4.26-3.bz2, along with UML tools uml_utilities_20040406.tar.bz2.
Here is the end of the console:
Initializing stdio console driver
Netdevice 0 : TUN/TAP backend -
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly. Mounted devfs on /dev
INIT: version 2.84 booting
And here is the backtrace from gdb:
(gdb) bt
#0 panic (
fmt=0xa009af99 "ó¥t\f\017·\006\203Æ\002f\211\a\203Ç\002öÂ\001t\005\017¶\006\210\a\213E\f\213@L\205Àt\006\215CX\211CL\213\034$\213t$\004\213|$\b\211ì]Ã\215´&") at panic.c:58
#1 0xa0090ab2 in segv () at trap_kern.c:149
#2 0xa0090f05 in segv_handler (sig=11, regs=0x0) at trap_user.c:74
#3 0xa0095251 in sig_handler_common_tt (sig=11, sc_ptr=0xa08ff498)
at trap_user.c:43
#4 0xa0091001 in sig_handler (sig=0, sc=
{gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 2694020392, esi = 2, ebp = 2693789564, esp = 2693789552, ebx = 2694020392, edx = 716, ecx = 179, eax = 2694020392, trapno = 14, err = 4, eip = 2684989337, cs = 35, __csh = 0, eflags = 66118, esp_at_signal = 2693789552, ss = 43, __ssh = 0, fpstate = 0x0, oldmask = 134285824, cr2 = 2}) at trap_user.c:108#5 <signal handler called>
#6 0xa009af99 in sc_to_sc (to_ptr=0xa0937d28, from_ptr=0x11)
at sigcontext.c:26
#7 0xa0093153 in copy_thread_tt (nr=0, clone_flags=2694020392, sp=0,
stack_top=0, p=0xa0934000, regs=0x0) at process_kern.c:305
Given that from_ptr is being reported as 0x11 in the arguments to sc_to_sc() I am assuming that the argument actually got overwritten by something else (most likely the signal number). The point of failure is where the kernel is trying to start 'init', as can be seen from this:
(gdb) frame 7
#7 0xa0093153 in copy_thread_tt (nr=0, clone_flags=2694020392, sp=0,
stack_top=0, p=0xa0934000, regs=0x0) at process_kern.c:305
305 UPT_SC(¤t->thread.regs.regs));
(gdb) print p.comm
$4 = "init\0er\0\0\0\0\0\0\0\0"
Quoted 11 lines
UML 2.4.26-3 should be safe from this, older ones may not. Also, for instance, Gcc 3.3.2 from Mandrake 10.0 Official is not able to compile any UML 2.4 (no problem for UML/2.6), but like for Linux, even for GCC some vendor ship patched versions, and the problem will probably lie in the patch (since I've been using GCC 3.3.4 from Slackware to compile with success UML 2.4).
Please let me know your results.
Signature · 2 lines
Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729
Signature · 15 lines
Never underestimate a Mage with: - the Intelligence to cast Magic Missile, - the Constitution to survive the first hit, and - the Dexterity to run fast enough to avoid being hit a second time. ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel