Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
libunwind 1.0 (and 1.0.1) and x86_64
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  4 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Pat L  
View profile  
 More options Sep 17 2011, 9:01 pm
From: Pat L <lopre...@gmail.com>
Date: Sat, 17 Sep 2011 18:01:49 -0700 (PDT)
Local: Sat, Sep 17 2011 9:01 pm
Subject: libunwind 1.0 (and 1.0.1) and x86_64
For years, the latest libunwind release (0.99) did not play nice with
google-perftools on x86_64 and we had to use a down-rev version (0.99-
beta) to avoid the occasional crash.  (Something about libunwind
trying to allocate memory from inside the perftools signal handler, if
I recall correctly.)

In the past month, the libunwind project has made two new releases,
1.0 and 1.0.1:

http://download.savannah.gnu.org/releases/libunwind/

I am curious if anyone knows whether these new releases fix the
crashes?

Thanks.

 - Pat


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Craig Silverstein  
View profile   Translate to Translated (View Original)
 More options Sep 19 2011, 4:35 pm
From: Craig Silverstein <csilv...@google.com>
Date: Mon, 19 Sep 2011 13:35:00 -0700
Subject: Re: libunwind 1.0 (and 1.0.1) and x86_64

} I am curious if anyone knows whether these new releases fix the
} crashes?

I think the newer version of libunwind still have the malloc calls,
and it's difficult to rremove them.  But this is just a vague memory I
have of what someone told me, and may be totally inaccurate!  It would
be great if the newer versions worked.

craig


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arun Sharma  
View profile  
 More options Oct 1 2011, 2:21 pm
From: Arun Sharma <arun.sha...@gmail.com>
Date: Sat, 1 Oct 2011 11:21:09 -0700 (PDT)
Local: Sat, Oct 1 2011 2:21 pm
Subject: Re: libunwind 1.0 (and 1.0.1) and x86_64
On Sep 19, 1:35 pm, Craig Silverstein <csilv...@google.com> wrote:

> } I am curious if anyone knows whether these new releases fix the
> } crashes?

> I think the newer version of libunwind still have the malloc calls,
> and it's difficult to rremove them.  But this is just a vague memory I
> have of what someone told me, and may be totally inaccurate!  It would
> be great if the newer versions worked.

There are tests in libunwind that try to catch unintentional calls to
malloc and friends from within libunwind.

Ubuntu 11.04 (amd64) + libunwind 1.0.1:

tests/Ltest-nomalloc: pass
tests/Ltest-nocalloc: fail

There is a simple fix for Ltest-nocalloc failure:

--- a/tests/Gtest-nocalloc.c
+++ b/tests/Gtest-nocalloc.c
@@ -123,6 +123,8 @@ main (int argc, char **argv)
     if (pthread_key_create (&key, NULL))
       panic ("FAILURE: unable to create key %d\n", i);
   }
+  do_backtrace();
+  num_mallocs = num_callocs = 0;
   foo1 ();
   num_errors = num_mallocs + num_callocs;
   if (num_errors > 0)

That is, if you insert a dummy call to backtrace() from your thread
creation routine, libunwind per-thread state gets initialized once and
there should be no further calls to (libunwind ->
pthread_setspecific() -> calloc()) from within libunwind.

The other common problem people run into using libunwind on x86_64 is
that dl_iterate_phdr() is not async signal safe. That routine uses
locks and could potentially call malloc. No good solution in sight,
other than hacking your libc and implementing a version that doesn't
do both of the above.

 -Arun


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ben Mahler  
View profile  
 More options Nov 8 2012, 6:26 pm
From: Ben Mahler <bmah...@twitter.com>
Date: Thu, 8 Nov 2012 15:26:50 -0800 (PST)
Local: Thurs, Nov 8 2012 6:26 pm
Subject: Re: libunwind 1.0 (and 1.0.1) and x86_64

Has anyone tested this with the new libunwind 1.1 release?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »