Hi, attached you find a test program that will badly crash here on our ELDK4.0 based MPC5200 board. It will create a bunch of tasks, which itself will allocate different amount of memory, clock_nanosleep() afterwards and return the allocated memory back to the system pool. If one gives a reasonable high number as command line argument (number of tasks to spawn), you will certainly starve the system memory pretty soon. There are several (probably unrelated) issues you can trigger with this: 1.) Without setting an ulimit -s, just using the standard linux stack space and calling it with
>>$ thread_test 200 I get messages after a while like __alloc_pages: 0-order allocation failed (gfp=0x1f0/0) If I manage to start the program afterwards multiple times (eventually use Ctrl-c inbetween), after a while I get these messages repeatedly and I have to reboot. Ping on the board also doesn't work. 2.) When I press CTRL-C shortly after starting the program, I get a bad Kernel OOPS like the one attached. Setting the stack space via ulimit -s 50 seems to make it even worse. Can someone reproduce this problem not only on mpc5200 ? Best regards, Daniel Schnell.
thread_test.c
Description: thread_test.c
bash-3.00# ./thread_test 100 ####### Testing Thread ####### Creating 100 threads Thread nr 100 started, mallocsize 1000Kb, sleep 1000ms, totalmem 976KB Thread nr 99 started, mallocsize 990Kb, sleep 990ms, totalmem 1943KB Thread nr 98 started, mallocsize 980Kb, sleep 980ms, totalmem 2900KB Thread nr 97 started, mallocsize 970Kb, sleep 970ms, totalmem 3847KB Thread nr 96 started, mallocsize 960Kb, sleep 960ms, totalmem 4785KB Thread nr 95 started, mallocsize 950Kb, sleep 950ms, totalmem 5712KB Thread nr 94 started, mallocsize 940Kb, sleep 940ms, totalmem 6630KB Thread nr 93 started, mallocsize 930Kb, sleep 930ms, totalmem 7539KB Thread nr 92 started, mallocsize 920Kb, sleep 920ms, totalmem 8437KB Thread nr 91 started, mallocsize 910Kb, sleep 910ms, totalmem 9326KB Thread nr 90 started, mallocsize 900Kb, sleep 900ms, totalmem 10205KB Thread nr 89 started, mallocsize 890Kb, sleep 890ms, totalmem 11074KB Thread nr 88 started, mallocsize 880Kb, sleep 880ms, totalmem 11933KB Thread nr 87 started, mallocsize 870Kb, sleep 870ms, totalmem 12783KB Thread nr 86 started, mallocsize 860Kb, sleep 860ms, totalmem 13623KB Thread nr 85 started, mallocsize 850Kb, sleep 850ms, totalmem 14453KB Thread nr 84 started, mallocsize 840Kb, sleep 840ms, totalmem 15273KB Thread nr 83 started, mallocsize 830Kb, sleep 830ms, totalmem 16083KB Thread nr 82 started, mallocsize 820Kb, sleep 820ms, totalmem 16884KB Thread nr 81 started, mallocsize 810Kb, sleep 810ms, totalmem 17675KB Thread nr 80 started, mallocsize 800Kb, sleep 800ms, totalmem 18457KB Thread nr 79 started, mallocsize 790Kb, sleep 790ms, totalmem 19228KB Thread nr 78 started, mallocsize 780Kb, sleep 780ms, totalmem 19990KB Thread nr 77 started, mallocsize 770Kb, sleep 770ms, totalmem 20742KB Thread nr 76 started, mallocsize 760Kb, sleep 760ms, totalmem 21484KB Thread nr 75 started, mallocsize 750Kb, sleep 750ms, totalmem 22216KB Thread nr 74 started, mallocsize 740Kb, sleep 740ms, totalmem 22939KB Thread nr 73 started, mallocsize 730Kb, sleep 730ms, totalmem 23652KB Thread nr 72 started, mallocsize 720Kb, sleep 720ms, totalmem 24355KB Thread nr 71 started, mallocsize 710Kb, sleep 710ms, totalmem 25048KB Thread nr 70 started, mallocsize 700Kb, sleep 700ms, totalmem 25732KB Thread nr 69 started, mallocsize 690Kb, sleep 690ms, totalmem 26406KB Thread nr 68 started, mallocsize 680Kb, sleep 680ms, totalmem 27070KB Thread nr 67 started, mallocsize 670Kb, sleep 670ms, totalmem 27724KB Thread nr 66 started, mallocsize 660Kb, sleep 660ms, totalmem 28369KB Thread nr 65 started, mallocsize 650Kb, sleep 650ms, totalmem 29003KB Thread nr 64 started, mallocsize 640Kb, sleep 640ms, totalmem 29628KB Thread nr 63 started, mallocsize 630Kb, sleep 630ms, totalmem 30244KB Thread nr 62 started, mallocsize 620Kb, sleep 620ms, totalmem 30849KB Thread nr 61 started, mallocsize 610Kb, sleep 610ms, totalmem 31445KB Thread nr 60 started, mallocsize 600Kb, sleep 600ms, totalmem 32031KB Thread nr 59 started, mallocsize 590Kb, sleep 590ms, totalmem 32607KB Thread nr 58 started, mallocsize 580Kb, sleep 580ms, totalmem 33173KB Thread nr 57 started, mallocsize 570Kb, sleep 570ms, totalmem 33730KB Thread nr 56 started, mallocsize 560Kb, sleep 560ms, totalmem 34277KB Thread nr 55 started, mallocsize 550Kb, sleep 550ms, totalmem 34814KB Thread nr 54 started, mallocsize 540Kb, sleep 540ms, totalmem 35341KB Thread nr 53 started, mallocsize 530Kb, sleep 530ms, totalmem 35859KB Thread nr 52 started, mallocsize 520Kb, sleep 520ms, totalmem 36367KB Thread nr 51 started, mallocsize 510Kb, sleep 510ms, totalmem 36865KB Thread nr 50 started, mallocsize 500Kb, sleep 500ms, totalmem 37353KB Thread nr 49 started, mallocsize 490Kb, sleep 490ms, totalmem 37832KB Thread nr 48 started, mallocsize 480Kb, sleep 480ms, totalmem 38300KB Thread nr 47 started, mallocsize 470Kb, sleep 470ms, totalmem 38759KB Thread nr 46 started, mallocsize 460Kb, sleep 460ms, totalmem 39208KB Thread nr 45 started, mallocsize 450Kb, sleep 450ms, totalmem 39648KB Thread nr 44 started, mallocsize 440Kb, sleep 440ms, totalmem 40078KB Thread nr 43 started, mallocsize 430Kb, sleep 430ms, totalmem 40498KB Thread nr 42 started, mallocsize 420Kb, sleep 420ms, totalmem 40908KB Thread nr 41 started, mallocsize 410Kb, sleep 410ms, totalmem 41308KB Thread nr 40 started, mallocsize 400Kb, sleep 400ms, totalmem 41699KB Thread nr 39 started, mallocsize 390Kb, sleep 390ms, totalmem 42080KB Thread nr 38 started, mallocsize 380Kb, sleep 380ms, totalmem 42451KB Thread nr 37 started, mallocsize 370Kb, sleep 370ms, totalmem 42812KB Thread nr 36 started, mallocsize 360Kb, sleep 360ms, totalmem 43164KB Thread nr 35 started, mallocsize 350Kb, sleep 350ms, totalmem 43505KB Thread nr 34 started, mallocsize 340Kb, sleep 340ms, totalmem 43837KB Thread nr 33 started, mallocsize 330Kb, sleep 330ms, totalmem 44160KB Thread nr 32 started, mallocsize 320Kb, sleep 320ms, totalmem 44472KB Thread nr 31 started, mallocsize 310Kb, sleep 310ms, totalmem 44775KB Thread nr 30 started, mallocsize 300Kb, sleep 300ms, totalmem 45kernel BUG at sched.c:558! Oops: Exception in kernel mode, sig: 4 NIP: C00131A4 XER: 20000000 LR: C00131A4 SP: CD293DE0 REGS: cd293d30 TRAP: 0700 Not tainted MSR: 00089032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: C00131A4 CD293DE0 CD292000 0000001C 00000001 00000001 FFFFD65B C0240000 GPR08: CFD8F620 00009032 00000001 CD293C50 C0240000 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 C0243C00 00000000 CD1DA000 C0243C00 CFD8F620 CD293DE0 Call backtrace: C00131A4 C00199F4 C00211C4 C0008AC0 C0004F8C 0FFB7288 100021A4 10002364 0FFB6318 0FF46FC0 0FCB59A0 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD293BD0 REGS: cd293b20 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD293BD0 CD292000 CD292000 00000001 00000001 C0240000 00000004 GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 00000004 C0209D30 CD292000 C0227C60 00000000 CD293BD0 Call backtrace: C0025CFC C00199F4 C00050E4 C000511C C0004F4C C00131A4 C00199F4 C00211C4 C0008AC0 C0004F8C 0FFB7288 100021A4 10002364 0FFB6318 0FF46FC0 0FCB59A0 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD293990 REGS: cd2938e0 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD293990 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD293990 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000511C C0004F4C C00131A4 C00199F4 C00211C4 C0008AC0 C0004F8C 0FFB7288 100021A4 10002364 0FFB6318 0FF46FC0 0FCB59A0 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD293750 REGS: cd2936a0 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD293750 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD293750 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000511C C0004F4C C00131A4 C00199F4 C00211C4 C0008AC0 C0004F8C 0FFB7288 100021A4 10002364 0FFB6318 0FF46FC0 0FCB59A0 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD293510 REGS: cd293460 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD293510 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD293510 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000511C C0004F4C C00131A4 C00199F4 C00211C4 C0008AC0 C0004F8C 0FFB7288 100021A4 10002364 0FFB6318 0FF46FC0 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD2932D0 REGS: cd293220 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD2932D0 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD2932D0 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000511C C0004F4C C00131A4 C00199F4 C00211C4 C0008AC0 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD293090 REGS: cd292fe0 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD293090 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD293090 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD292E50 REGS: cd292da0 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD292E50 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD292E50 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD292C10 REGS: cd292b60 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD292C10 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD292C10 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD2929D0 REGS: cd292920 TRAP: 0300 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 00000000, DSISR: 22000000 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000000 CD2929D0 CD292000 CD292000 00000001 00000001 C0240000 0000000B GPR08: 00000127 00000000 CD29203C 00000000 2810C084 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0220000 C0240000 C0220000 C0250000 C0210000 GPR24: C0210000 C0220000 0000000B C0209D30 CD292000 C0227C60 00000000 CD2929D0 Call backtrace: C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 Oops: kernel access of bad area, sig: 11 NIP: C0012A98 XER: 00000000<4>NIP: C0012A98 XER: 00000000 LR: C0012A48 SP: CD292790 REGS: cd2926e0 TRAP: 0300 Not tainted Kernel stack overflow in process cd292000, r1=cd2923c0 NIP: C016A1B8 XER: 20000000 LR: C016A1C0 SP: CD2923C0 REGS: cd292310 TRAP: 0900 Not tainted MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = cd292000[295] 'thread_test' Last syscall: 285344299 last math 00000000 last altivec 00000000 GPR00: 00000400 CD2923C0 CD292000 11C44000 00000030 0000005F FFFFFBE8 C0240000 GPR08: 00000034 00000000 00003BE7 00003B86 C0240000 1001AE00 00000000 00000000 GPR16: 00000000 00000000 3001D944 C0210000 C020CEA0 C0240000 C0240000 FFFFFFFF GPR24: C0240000 C0249520 C028D60C 00000030 C0220000 0000076C 00002704 F0002000 Call backtrace: 00000005 C016A23C C0015828 C0016144 C00164C4 C0015ED8 C0015FEC C0007E94 C00050D8 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 C000F454 C000F62C C0004F4C C0025CFC C00199F4 C00050E4 Kernel panic: kernel stack overflow <0>Rebooting in 1 seconds.bash-3.00# ./thread_test 100
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
