unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Marijn <hkBst@gentoo.org>
Cc: bug-guile@gnu.org
Subject: Re: guile-2.0.0 fails to build without threads
Date: Wed, 04 May 2011 14:19:17 +0200	[thread overview]
Message-ID: <87ei4er73u.fsf@gnu.org> (raw)
In-Reply-To: <4DC01809.1090704@gentoo.org> (Marijn's message of "Tue, 03 May 2011 16:58:17 +0200")

Hi Marijn,

Marijn <hkBst@gentoo.org> writes:

> On 04/28/11 17:09, Ludovic Courtès wrote:
>> Andy Wingo <wingo@pobox.com> writes:
>>
>>> On Thu 28 Apr 2011 15:08, ludo@gnu.org (Ludovic Courtès) writes:
>>>
>>>>>       /* Sanity check.  */
>>>>>       if (!GC_is_visible (&scm_protects))
>>>>>         abort ();
>>>
>>> Is this even the right check to make?
>>
>> Yes: the goal is to make sure that the ‘scm_protect’ variable itself is
>> a GC root.
>>
>> Actually, Marijn: can you try “GC_DUMP_REGULARLY=1 ./meta/guile -c 0”,
>> and check what’s under “Static roots”?

More precisely:

--8<---------------cut here---------------start------------->8---
$ ./meta/gdb-uninstalled-guile
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ludo/src/guile/libguile/.libs/guile...done.
(gdb) set environment GC_DUMP_REGULARLY "1"
(gdb) b main
Breakpoint 1 at 0x400ab0: file guile.c, line 69.
(gdb) r -c 0
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /home/ludo/src/guile/libguile/.libs/guile -c 0
[Thread debugging using libthread_db enabled]

Breakpoint 1, main (argc=3, argv=0x7fffffffce88) at guile.c:69
69      {
(gdb) p &scm_protects
$2 = (SCM *) 0x7ffff7dd7788
(gdb) c
Continuing.
***Static roots:
Total size: 0

***Heap sections:
Total heap size: 65536
Section 0 from 0x663000 to 0x673000 0/16 blacklisted

***Free blocks:
Free list 16 (total size 65536):
        0x663000 size 65536 not black listed
Total of 65536 bytes on free list

***Blocks in use:
(kind(0=ptrfree,1=normal,2=unc.):size_in_bytes, #_marks_set)

blocks = 0, bytes = 0
***Static roots:
From 0x601000 to 0x601360 (temporary)
From 0x7ffff7db0000 to 0x7ffff7ddde00 (temporary)  ;; ← here!
From 0x7ffff7a1b000 to 0x7ffff7a5e6e0 (temporary)
From 0x7ffff77ee000 to 0x7ffff77f23b0 (temporary)
From 0x7ffff75d5000 to 0x7ffff75d5108 (temporary)
From 0x7ffff73d1000 to 0x7ffff73d18e0 (temporary)
From 0x7ffff71c5d58 to 0x7ffff71c9f08 (temporary)
From 0x7ffff6eb2a08 to 0x7ffff6eb3f60 (temporary)
From 0x7ffff6c5f450 to 0x7ffff6c5f988 (temporary)
From 0x7ffff6a28000 to 0x7ffff6a561c0 (temporary)
From 0x7ffff681f000 to 0x7ffff681f0e8 (temporary)
From 0x7ffff6598000 to 0x7ffff659dbe8 (temporary)
From 0x7ffff7ffd000 to 0x7ffff7ffe188 (temporary)
Total size: 725552
--8<---------------cut here---------------end--------------->8---

Above ‘scm_protects’ clearly appears as a root.  Can you check this?

How was libgc compiled?  Does its ‘make check’ pass?
What does ‘env | grep ^GC’ say?

Can you try this program with the same libgc:

--8<---------------cut here---------------start------------->8---
#include <gc/gc.h>

int foo[123];

int
main (int argc, char *argv[])
{
  GC_INIT ();
  GC_is_visible (&foo);
  return 0;
}
--8<---------------cut here---------------end--------------->8---

Thanks,
Ludo’.



  reply	other threads:[~2011-05-04 12:19 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-07 14:47 guile-2.0.0 fails to build without threads Marijn
2011-04-11 16:19 ` Andy Wingo
2011-04-12  7:26   ` Marijn
2011-04-13 10:05     ` Andy Wingo
2011-04-13 13:44       ` Marijn
2011-04-13 14:09         ` Andy Wingo
2011-04-13 14:27           ` Marijn
2011-04-13 15:22             ` Andy Wingo
2011-04-14 13:25               ` Marijn
2011-04-28 11:17                 ` Andy Wingo
2011-04-28 13:08                   ` Ludovic Courtès
2011-04-28 13:15                     ` Andy Wingo
2011-04-28 15:09                       ` Ludovic Courtès
2011-05-03 14:58                         ` Marijn
2011-05-04 12:19                           ` Ludovic Courtès [this message]
2011-05-05  8:04                             ` Marijn
2011-05-05 12:08                               ` Ludovic Courtès
2011-05-05 13:59                                 ` Marijn
2011-05-05 14:25                                   ` Ludovic Courtès
2011-05-06  8:16                                     ` Marijn
2011-05-06  9:52                                       ` Ludovic Courtès
2011-05-06 12:49                                         ` Marijn
2011-05-10  7:43                                         ` Marijn
2011-05-03 14:55                     ` Marijn
2011-04-12  6:49 ` Marco Maggi
2011-04-13  9:04   ` Marco Maggi
2011-04-13 11:42     ` Marco Maggi
2011-04-13 12:26       ` Andy Wingo
2011-04-13 13:56         ` Marco Maggi
2011-04-28 11:21           ` Andy Wingo
2011-05-02  6:20             ` Marco Maggi
2011-05-20  9:37               ` Andy Wingo
2011-05-20 18:41                 ` Marco Maggi
2011-05-21  2:23                   ` Mark H Weaver
2011-05-21  8:45                   ` Andy Wingo
2011-05-21 13:51                     ` Marco Maggi
2011-05-21 14:29                       ` Neil Jerram
2011-06-17 10:25                       ` Andy Wingo
2011-06-20  8:06                         ` Andy Wingo
2011-06-22 21:39                           ` Neil Jerram
2011-04-13  9:55   ` Andy Wingo
2011-04-13 14:19     ` Marco Maggi
2011-04-13 21:57   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ei4er73u.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=bug-guile@gnu.org \
    --cc=hkBst@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).