Skip to contentSkip to conversation

memory option crashes the uml bootstrap phase

uml-devel Stefano Melchior 3 participants 10 messages Mar 21, 2006 – Mar 22, 2006 User-mode Linux (UML)

lore
Share & tools
lore
#0 lore raw

Dear all,
I may be wrong but I encountered a strange problem:

- I downloaded a root_fs from http://uml.nagafix.co.uk/ (debian)
- I user my own user-mode-linux pkg for debian (upcoming on debian unstable);
- I launched the following command:

ste$ linux ubd0=Debian-3.1-x86-root_fs con0=fd:0 con=pts eth0=tuntap,,,10.0.1.99

and everything worked fine.

- while I added the mem=256M option at the command line, I obtained the following error:

Linux version 2.6.15 (root@landini) (gcc version 4.0.3 20060212 (prerelease) (Debian 4.0.2-9)) #2 Sat Feb 18 08:01:20 CET 2006 On node 0 totalpages: 8192
DMA zone: 8192 pages, LIFO batch:1
DMA32 zone: 0 pages, LIFO batch:0
Normal zone: 0 pages, LIFO batch:0
HighMem zone: 0 pages, LIFO batch:0
Built 1 zonelists
Kernel command line: ubd0=Debian-3.1-x86-root_fs con0=fd:0 con=pts eth0=tuntap,,,10.0.1.99 root=98:0
PID hash table entries: 256 (order: 8, 4096 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 28408k available
Calibrating delay loop... 814.28 BogoMIPS (lpj=4071424)
Mount-cache hash table entries: 512
Checking for host processor cmov support...Yes
Checking for host processor xmm support...No
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Checking for /dev/anon on the host...Not available (open failed with errno
2)
Using 2.6 host AIO
[...]
VFS: Mounted root (ext3 filesystem) readonly.

BUG: soft lockup detected on CPU#0!

EIP: 0073:[<a01c5f81>] CPU: 0 Not tainted ESP: 007b:b7fd0fb8 EFLAGS:
00000246
Not tainted

EAX: 00000000 EBX: 00005338 ECX: 00000013 EDX: 00005338
ESI: 00005334 EDI: 00000000 EBP: b7fd0fc4 DS: 007b ES: 007b
a03c7298:  [<a002c863>] show_regs+0x1a7/0x1b2
a03c72c8:  [<a004a9a2>] softlockup_tick+0x46/0x4b
a03c72dc:  [<a0039f99>] do_timer+0xa4/0xaa
a03c72ec:  [<a0017519>] um_timer+0xc/0x39
a03c72fc:  [<a004aa9b>] handle_IRQ_event+0x2a/0x5e
a03c7324:  [<a004ab27>] __do_IRQ+0x58/0x99
a03c733c:  [<a001396b>] do_IRQ+0x22/0x2e
a03c7348:  [<a00174ac>] timer_irq+0xff/0x12d
a03c736c:  [<a0017750>] timer_handler+0x64/0x6a
a03c7380:  [<a001ca96>] sig_handler_common_skas+0xa6/0xc1
a03c73a8:  [<a00279ae>] alarm_handler+0x3b/0x51
a03c73bc:  [<ffffe420>] _etext+0x5fde6a92/0x0
a03c76bc:  [<a0017e96>] flush_tlb_kernel_vm+0x24/0x28
a03c76cc:  [<a001815e>] segv+0x41/0x22c
a03c776c:  [<a0018611>] segv_handler+0xba/0xc5
a03c7794:  [<a001ca96>] sig_handler_common_skas+0xa6/0xc1
a03c77bc:  [<a002796f>] sig_handler+0x23/0x27
a03c77cc:  [<ffffe420>] _etext+0x5fde6a92/0x0
a03c7aec:  [<a00892c1>] load_elf_binary+0x8d1/0xb7e
a03c7b94:  [<a006d293>] search_binary_handler+0x5d/0x190
a03c7bb8:  [<a006d523>] do_execve+0x15d/0x1ec
a03c7bdc:  [<a0013686>] execve1+0x28/0x52
a03c7c00:  [<a00136c3>] um_execve+0x13/0x3f
a03c7c1c:  [<a001315e>] run_init_process+0x34/0x4f
a03c7c3c:  [<a0013262>] init+0xe9/0x113
a03c7c4c:  [<a002788c>] run_kernel_thread+0x2b/0x33
a03c7cf8:  [<a001c3d5>] new_thread_handler+0x81/0xab
a03c7d1c:  [<ffffe420>] _etext+0x5fde6a92/0x0

Any suggestion?

Cheers

SteX

Signature · 3 lines
Stefano Melchior, GPG key = D52DF829 - <[email protected]>
http://etinarcadiaego.dyndns.org    --     http://www.stex.name
Skype ID "stefanomelchior"
#1 lore raw

On Tue, Mar 21, 2006 at 03:26:25PM +0100, Stefano Melchior wrote:
Dear all,
[...]
I also noticed that, from manual page, if you use:

mem=memory
This controls how much "physical" memory the kernel allocates for the system. The size is specified as a number
followed by one of ’k’, ’K’, ’m’, ’M’, which have the
obvious meanings. This is not related to the amount of memory
in the physical machine. It can be more, and the
excess, if it’s ever used, will just be swapped out.

- mem=256m it works
- while mem=256M it crashes!

Any suggestion?

SteX

Signature · 3 lines
Stefano Melchior, GPG key = D52DF829 - <[email protected]>
http://etinarcadiaego.dyndns.org    --     http://www.stex.name
Skype ID "stefanomelchior"
#2 lore raw
Quoted 13 lines · Stefano Melchior

On Tue, Mar 21, 2006 at 03:26:25PM +0100, Stefano Melchior wrote:
Dear all,
[...]
I also noticed that, from manual page, if you use:

mem=memory
This controls how much "physical" memory the kernel allocates for the system. The size is specified as a number
followed by one of ’k’, ’K’, ’m’, ’M’, which have the
obvious meanings. This is not related to the amount of memory
in the physical machine. It can be more, and the
excess, if it’s ever used, will just be swapped out.

Quoted 2 lines

- mem=256m it works
- while mem=256M it crashes!

No, that crash is likely a race condition and the code treats mem=256{m,M} the same way.
Verified in arch/um/kernel/physmem.c:uml_mem_setup and lib/cmdline.c:memparse.

However, test increasing /proc/sys/vm/max_map_count and disabling CONFIG_MODE_TT as suggested by Jeff, I've already seen this to fix this problem.

Signature · 22 lines
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade

	

	
		
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
#3 lore raw
Quoted 1 line · Blaisorblade

However, test increasing /proc/sys/vm/max_map_count

This only bites you when you have large UML processes - I don't think it can cause a crash on boot.

Jeff

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#4 lore raw
Quoted 5 lines · Jeff Dike
Quoted 1 line · Blaisorblade

However, test increasing /proc/sys/vm/max_map_count

This only bites you when you have large UML processes - I don't think it can cause a crash on boot.

I remember this, I didn't have many other things to suggest (apart TT mode) and that setting is needed anyway (actually it's needed when you go _over_ 256M per guest).

Fantasy is exhausting :-)

Signature · 20 lines
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade

		
___________________________________ 
Yahoo! Messenger with Voice: chiama da PC a telefono a tariffe esclusive 
http://it.messenger.yahoo.com



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
#5 lore raw
Quoted 3 lines · Blaisorblade

I remember this, I didn't have many other things to suggest (apart TT mode) and that setting is needed anyway (actually it's needed when you go _over_ 256M per guest).

To be precise, it's necessary when you have UML processes with > 256M RSS. A 1G UML with a ton of tiny processes won't hit that limit.

Jeff

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#6 lore raw
In reply to Blaisorblade

On Tue, Mar 21, 2006 at 07:54:08PM +0100, Blaisorblade wrote:
Dear all,

Quoted 8 lines

No, that crash is likely a race condition and the code treats mem=256{m,M} the same way.
Verified in arch/um/kernel/physmem.c:uml_mem_setup and lib/cmdline.c:memparse.

However, test increasing /proc/sys/vm/max_map_count and disabling CONFIG_MODE_TT as suggested by Jeff, I've already seen this to fix this problem.

thus the point is if you need to disable TT mode by default, isn't it? Now user-mode-linux is in debian "unstable" [1] and I need to provide a config file as default configuration for the pkg: you suggested me to act this way

#
# UML-specific options
#
CONFIG_MODE_TT=n
^^^^^^^^^^^^^^^^
# CONFIG_HOST_2G_2G is not set
CONFIG_KERNEL_HALF_GIGS=1
CONFIG_MODE_SKAS=y

and rebuild the bin, didn't you?

Cheers

SteX

[1] http://packages.qa.debian.org/u/user-mode-linux.html

Signature · 3 lines
Stefano Melchior, GPG key = D52DF829 - <[email protected]>
http://etinarcadiaego.dyndns.org    --     http://www.stex.name
Skype ID "stefanomelchior"
#7 lore raw
Quoted 14 lines · Stefano Melchior

thus the point is if you need to disable TT mode by default, isn't it? Now user-mode-linux is in debian "unstable" [1] and I need to provide a config file as default configuration for the pkg: you suggested me to act this way

#
# UML-specific options
#
CONFIG_MODE_TT=n
^^^^^^^^^^^^^^^^
# CONFIG_HOST_2G_2G is not set
CONFIG_KERNEL_HALF_GIGS=1
CONFIG_MODE_SKAS=y

Quoted 1 line

and rebuild the bin, didn't you?

For anything recent (2.6.14 or later), yes.

Jeff

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#8 lore raw
In reply to Stefano Melchior
Quoted 26 lines · Stefano Melchior

On Tue, Mar 21, 2006 at 07:54:08PM +0100, Blaisorblade wrote:
Dear all,

Quoted 8 lines

No, that crash is likely a race condition and the code treats mem=256{m,M} the same way.
Verified in arch/um/kernel/physmem.c:uml_mem_setup and lib/cmdline.c:memparse.

However, test increasing /proc/sys/vm/max_map_count and disabling CONFIG_MODE_TT as suggested by Jeff, I've already seen this to fix this problem.

thus the point is if you need to disable TT mode by default, isn't it? Now user-mode-linux is in debian "unstable" [1] and I need to provide a config file as default configuration for the pkg: you suggested me to act this way

#
# UML-specific options
#
CONFIG_MODE_TT=n
^^^^^^^^^^^^^^^^
# CONFIG_HOST_2G_2G is not set
CONFIG_KERNEL_HALF_GIGS=1
CONFIG_MODE_SKAS=y

Quoted 1 line

and rebuild the bin, didn't you?

Almost yes, but that's not the correct syntax - it's a common pitfall:

# CONFIG_MODE_TT is not set

Quoted 1 line

[1] http://packages.qa.debian.org/u/user-mode-linux.html

Signature · 20 lines
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade

		
___________________________________ 
Yahoo! Messenger with Voice: chiama da PC a telefono a tariffe esclusive 
http://it.messenger.yahoo.com



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
#9 lore raw
In reply to Stefano Melchior
Quoted 4 lines · Stefano Melchior

- while I added the mem=256M option at the command line, I obtained the following error:

Any suggestion?

Do you have CONFIG_MODE_TT enabled? I think disabling it is the fix for this.

Jeff

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel