FAQ
In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/4d00a3198aa6950e874328ec431d15c821382cce?hp=5942644739c2d477d25e89b4a40ced7cfb0ee4e9>

- Log -----------------------------------------------------------------
commit 4d00a3198aa6950e874328ec431d15c821382cce
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Sun Mar 27 11:11:18 2016 -0400

     Move the zeroing back before the dladdr() call.

M util.c

commit 70ead873d4b864ca127d4f75aa654724264ff91b
Author: Vladimir Timofeev <vovkasm@gmail.com>
Date: Fri Mar 25 08:41:25 2016 -0400

     [perl #127773: Assertion failure in perl built with Dusecbacktrace]

M util.c
-----------------------------------------------------------------------

Summary of changes:
  util.c | 11 ++++++-----
  1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/util.c b/util.c
index c1c854f..9ad40c1 100644
--- a/util.c
+++ b/util.c
@@ -6252,14 +6252,14 @@ static void atos_symbolize(atos_context* ctx,
              char out[1024];
              UV cnt = fread(out, 1, sizeof(out), fp);
              if (cnt < sizeof(out)) {
- const char* p = atos_parse(out + cnt, out,
+ const char* p = atos_parse(out + cnt - 1, out,
                                             source_name_size,
                                             source_line);
                  if (p) {
                      Newx(*source_name,
- *source_name_size + 1, char);
+ *source_name_size, char);
                      Copy(p, *source_name,
- *source_name_size + 1, char);
+ *source_name_size, char);
                  }
              }
              pclose(fp);
@@ -6384,14 +6384,15 @@ Perl_get_c_backtrace(pTHX_ int depth, int skip)
          for (i = skip; i < try_depth; i++) {
              Dl_info* dl_info = &dl_infos[i];

- total_bytes += sizeof(Perl_c_backtrace_frame);
-
+ object_name_sizes[i] = 0;
              source_names[i] = NULL;
              source_name_sizes[i] = 0;
              source_lines[i] = 0;

              /* Yes, zero from dladdr() is failure. */
              if (dladdr(raw_frames[i], dl_info)) {
+ total_bytes += sizeof(Perl_c_backtrace_frame);
+
                  object_name_sizes[i] =
                      dl_info->dli_fname ? strlen(dl_info->dli_fname) : 0;
                  symbol_name_sizes[i] =

--
Perl5 Master Repository

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 1 | next ›
Discussion Overview
groupperl5-changes @
categoriesperl
postedMar 27, '16 at 4:12p
activeMar 27, '16 at 4:12p
posts1
users1
websiteperl.org

1 user in discussion

Jarkko Hietaniemi: 1 post

People

Translate

site design / logo © 2017 Grokbase