Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: comms/asterisk18 build failure on current/amd64
On Oct 9, 6:35pm, wiz%NetBSD.org@localhost (Thomas Klausner) wrote:
-- Subject: Re: comms/asterisk18 build failure on current/amd64
| On Sun, Oct 09, 2011 at 12:29:52PM -0400, Christos Zoulas wrote:
| > On Oct 9, 6:19pm, wiz%NetBSD.org@localhost (Thomas Klausner) wrote:
| > -- Subject: Re: comms/asterisk18 build failure on current/amd64
| >
| > | (gdb) thread 8
| > | [Switching to thread 8 (process 134369)]#0 GC_help_marker (my_mark_no=0)
at mark.c:1107
| > | 1107 {
| > | (gdb) bt
| > | #0 GC_help_marker (my_mark_no=0) at mark.c:1107
| > | #1 0x00000000005bde93 in GC_mark_thread (id=<value optimized out>) at
pthread_support.c:552
| > | #2 0x00007f7ff7409cd5 in pthread__create_tramp (cookie=0x7f7ff6800000)
at /archive/cvs/src/lib/libpthread/pthread.c:643
| > | #3 0x00007f7ff7076350 in ___lwp_park50 () from /usr/lib/libc.so.12
| > | Cannot access memory at address 0x7f7ff6c00000
| >
| > So this is what died... Can you list mark.c around those lines?
Ok, 1107 is the function entry point, and my guess is that
LOCAL_MARK_STACK_SIZE is quite large. Try unlimiting stack size.
christos
| (gdb) thread 8
| [Switching to thread 8 (process 134369)]#0 GC_help_marker (my_mark_no=0) at
mark.c:1107
| 1107 {
| (gdb) l
| 1102
| 1103
| 1104 /* Try to help out the marker, if it's running. */
| 1105 /* We do not hold the GC lock, but the requestor does. */
| 1106 void GC_help_marker(word my_mark_no)
| 1107 {
| 1108 mse local_mark_stack[LOCAL_MARK_STACK_SIZE];
| 1109 unsigned my_id;
| 1110 mse * my_first_nonempty;
| 1111
| (gdb)
| 1112 if (!GC_parallel) return;
| 1113 GC_acquire_mark_lock();
| 1114 while (GC_mark_no < my_mark_no
| 1115 || !GC_help_wanted && GC_mark_no == my_mark_no) {
| 1116 GC_wait_marker();
| 1117 }
| 1118 my_id = GC_helper_count;
| 1119 if (GC_mark_no != my_mark_no || my_id >= GC_markers) {
| 1120 /* Second test is useful only if original threads can also
*/
| 1121 /* act as helpers. Under Linux they can't.
*/
| (gdb)
| 1122 GC_release_mark_lock();
| 1123 return;
| 1124 }
| 1125 GC_helper_count = my_id + 1;
| 1126 GC_release_mark_lock();
| 1127 GC_mark_local(local_mark_stack, my_id);
| 1128 /* GC_mark_local decrements GC_helper_count. */
| 1129 }
| 1130
| 1131 #endif /* PARALLEL_MARK */
|
| Thomas
-- End of excerpt from Thomas Klausner
Home |
Main Index |
Thread Index |
Old Index