pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/40622: Build of lang/mono loops on NetBSD/macppc 4.0
>Number: 40622
>Category: pkg
>Synopsis: Build of lang/mono loops on NetBSD/macppc 4.0
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Feb 12 10:50:00 +0000 2009
>Originator: Havard Eidnes
>Release: NetBSD 4.0
>Organization:
I Try...
>Environment:
System: NetBSD malus.urc.uninett.no 4.0 NetBSD 4.0 (GENERIC) #0: Sun Dec 16
00:27:58 PST 2007
builds@wb30:/home/builds/ab/netbsd-4-0-RELEASE/macppc/200712160005Z-obj/home/builds/ab/netbsd-4-0-RELEASE/src/sys/arch/macppc/compile/GENERIC
macppc
Architecture: powerpc
Machine: macppc
>Description:
It appears that during the build of lang/mono, a mono
executable is used at some stage in the build process.
On NetBSD/macppc 4.0, this mono invocation loops, consuming
100% system CPU, as can be seen here:
load averages: 1.01, 1.02, 1.00 up 84 days, 23:46 11:35:53
91 processes: 1 runnable, 88 sleeping, 1 stopped, 1 on processor
CPU states: 0.0% user, 0.0% nice, 100% system, 0.0% interrupt, 0.0% idle
Memory: 241M Act, 123M Inact, 4740K Wired, 52M Exec, 291M File, 1632K Free
Swap: 1300M Total, 14M Used, 1286M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
13413 root 97 20 35M 3688K RUN 38.1H 99.02% 99.02% mono
and in this output from "systat vm":
5 users Load 1.01 1.02 1.00 Thu Feb 12 11:36:07
Proc:r d s w Csw Trp Sys Int Sof Flt PAGING SWAPPING
2 13 42 833838 109 45 833801 in out in out
ops
100.0% Sy 0.0% Us 0.0% Ni 0.0% In 0.0% Id pages
| | | | | | | | | | |
================================================== forks
fkppw
memory totals (in kB) 149 Interrupts fksvm
real virtual free 100 cpu0 clock pwait
Active 247132 261364 1320 11 cpu0 soft clock relck
All 499252 513484 1318284 16 cpu0 soft net rlkok
openpic irq 29 noram
Namei Sys-cache Proc-cache openpic irq 39 ndcpy
Calls hits % hits % openpic irq 40 fltcp
6 6 100 11 openpic irq 41 zfod
11 gem0 interrupts cow
Disks: md0 cd0 wd0 64 fmin
seeks 85 ftarg
xfers itarg
bytes 1186 wired
%busy pdfre
This was experienced during a bulk pkgsrc build, so of course
the build stalls at this point.
The process which loops in this manner is running:
13413 ttyp2 RN 2290:10.59
/usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono --config
/usr/pkgsrc/lang/mono/work/mono-2.0.1/runtime/etc/mono/config
./class/lib/monolite/mcs.exe /out:build/deps/basic-profile-check.exe
build/deps/basic-profile-check.cs
according to the output from "ps axww".
A small session with gdb may point to where it's working:
malus# gdb /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc--netbsd"...
(gdb) attach 13413
Attaching to program: /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono,
process 13413
0x018c8d0c in mono_jit_info_table_find (domain=0x1a94ea0,
addr=0xefd2a0c0 "L\203") at domain.c:406
406 } while (chunk_pos < table->num_chunks);
(gdb) where
#0 0x018c8d0c in mono_jit_info_table_find (domain=0x1a94ea0,
addr=0xefd2a0c0 "L\203") at domain.c:406
#1 0x018c8cb8 in mono_jit_info_table_find (domain=<value optimized out>,
addr=0xefd2a0c0 "L\203") at domain.c:425
#2 0x018c8cb8 in mono_jit_info_table_find (domain=<value optimized out>,
addr=0xefd2a0c0 "L\203") at domain.c:425
Previous frame inner to this frame (corrupt stack?)
(gdb) det
Detaching from program: /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono,
process 13413
(gdb) attach 13413
Attaching to program: /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono,
process 13413
0x018c8d0c in mono_jit_info_table_find (domain=0x1a94ea0,
addr=0xefd2a0c0 "L\203") at domain.c:406
406 } while (chunk_pos < table->num_chunks);
(gdb) where
#0 0x018c8d0c in mono_jit_info_table_find (domain=0x1a94ea0,
addr=0xefd2a0c0 "L\203") at domain.c:406
#1 0x018c8cb8 in mono_jit_info_table_find (domain=<value optimized out>,
addr=0xefd2a0c0 "L\203") at domain.c:425
#2 0x018c8cb8 in mono_jit_info_table_find (domain=<value optimized out>,
addr=0xefd2a0c0 "L\203") at domain.c:425
Previous frame inner to this frame (corrupt stack?)
(gdb) det
Detaching from program: /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono,
process 13413
(gdb) attach 13413
Attaching to program: /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono,
process 13413
0x018c8d0c in mono_jit_info_table_find (domain=0x1a94ea0,
addr=0xefd2a0c0 "L\203") at domain.c:406
406 } while (chunk_pos < table->num_chunks);
(gdb) where
#0 0x018c8d0c in mono_jit_info_table_find (domain=0x1a94ea0,
addr=0xefd2a0c0 "L\203") at domain.c:406
#1 0x018c8cb8 in mono_jit_info_table_find (domain=<value optimized out>,
addr=0xefd2a0c0 "L\203") at domain.c:425
#2 0x018c8cb8 in mono_jit_info_table_find (domain=<value optimized out>,
addr=0xefd2a0c0 "L\203") at domain.c:425
Previous frame inner to this frame (corrupt stack?)
(gdb)
(gdb) i locals
chunk = (MonoJitInfoTableChunk *) 0x1aa2000
table = (MonoJitInfoTable *) 0x1a66280
ji = (MonoJitInfo *) 0x1a94ea0
chunk_pos = 1
pos = 0
hp = (MonoThreadHazardPointers *) 0x0
__PRETTY_FUNCTION__ = "ble_remove\000\000jit_info_tabl"
(gdb)
(gdb) list
401 goto not_found;
402 }
403
404 ++chunk_pos;
405 pos = 0;
406 } while (chunk_pos < table->num_chunks);
407
408 not_found:
409 mono_hazard_pointer_clear (hp, JIT_INFO_TABLE_HAZARD_INDEX);
410 mono_hazard_pointer_clear (hp, JIT_INFO_HAZARD_INDEX);
(gdb) p table->num_chunks
$1 = 1
(gdb) p *table
$2 = {domain = 0x1a94ea0, num_chunks = 1, chunks = 0x1a66288}
(gdb) p *chunk
$3 = {refcount = 1, num_elements = 0, last_code_end = 0x0, data = {
0x0 <repeats 64 times>}}
(gdb)
At this point I tried a "next", which appears to have been a
bad idea: gdb appeared to hang, and when I killed gdb, it
pulled mono with itself:
malus# kill %2
Detaching from program: /usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono,
process 13413
stat 2 flag 0
Quitting: ptrace: Device busy.
sorry, pid 13413 was killed: orphaned traced process
[2] Done gdb
/usr/pkgsrc/lang/mono/work/mono-2.0.1/mono/mini/mono
malus#
Hopefully this will give someone at least some leads as to
what the problem is.
>How-To-Repeat:
Try to build lang/mono on NetBSD/macppc 4.0.
>Fix:
Sorry, don't know.
Home |
Main Index |
Thread Index |
Old Index