-
Notifications
You must be signed in to change notification settings - Fork 550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion failure in perl built with Dusecbacktrace #15247
Comments
From @dur-randirCreated by @dur-randir./Configure -de -Dusedevel -Dusecbacktrace -Accflags=-DUSE_C_BACKTRACE_ON_ERROR -DDEBUGGING -Doptimize=-O2 && make Assertion failed: (total_bytes == (UV)(sizeof(Perl_c_backtrace_header) + frame_count * sizeof(Perl_c_backtrace_frame) + name_curr - name_base)), function Perl_get_c_backtrace, file util.c, line 6488. This happens only when you build with optimization level O2 or higher. Perl Info
|
From @jhi
Doesn't happen for me: PERL_C_BACKTRACE_ON_ERROR=10 ./perl -e 'die "aiee"' Built from http://perl5.git.perl.org/perl.git/commit/2ebde1ca18ddaa314fe6d25c75315d1019fd91b5 ./perl -Ilib -V Characteristics of this binary (from libperl): |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Wed Mar 23 11:24:10 2016, randir wrote:
I don't know whether you intended this to be a Darwin-specific bug but, in any event, I could not reproduce in on Linux x86_64. ##### $> PERL_C_BACKTRACE_ON_ERROR=10 ./perl -e 'die "aiee"' $> ./perl -Ilib -V Characteristics of this binary (from libperl): -- |
From @vovkasmI can reproduce this: $ PERL_C_BACKTRACE_ON_ERROR=10 ./perl -e 'die "aiee"' $ uname -a $ cc -v $ ./perl -Ilib -V Characteristics of this binary (from libperl): |
From [Unknown Contact. See original ticket]I can reproduce this: $ PERL_C_BACKTRACE_ON_ERROR=10 ./perl -e 'die "aiee"' $ uname -a $ cc -v $ ./perl -Ilib -V Characteristics of this binary (from libperl): |
From @vovkasmAttached patch fixes problem for me. It is a proof of concept. But code here is really ugly. For example mac part has memory leaks. |
From [Unknown Contact. See original ticket]Attached patch fixes problem for me. It is a proof of concept. But code here is really ugly. For example mac part has memory leaks. |
From @jhiOn Thu Mar 24 14:06:41 2016, vovkasm wrote:
Thanks for the proof of concept (can you describe what you fixed in that?) Also, can you detail what leaks you see? valgrind isn't finding any from this code (there are plenty of "known" leaks which Perl chooses to allocate but never deallocate, with the default destruct level). |
From @vovkasmOn Fri Mar 25 05:57:40 2016, jhi wrote:
1. (First chunk in diff) Fixes bad parsing of `atos` output. 2. (Second chunk in diff) Fixes assertion.
No, I can see where elements of source_names array deallocated now. Sorry, I was very angry in trying to understand this code. |
From @jhiOn Fri Mar 25 06:39:48 2016, vovkasm wrote:
Even though you said your fix was "in progress", it looks fine to me, so unless you have objections, I will go ahead and apply it. |
1 similar comment
From @jhiOn Fri Mar 25 06:39:48 2016, vovkasm wrote:
Even though you said your fix was "in progress", it looks fine to me, so unless you have objections, I will go ahead and apply it. |
From @vovkasmOn Sat Mar 26 06:15:33 2016, jhi wrote:
No objections, but it would be good if someone else will test this with another version of mac os and/or xcode. |
From @jhi
Well, I can test it with what I got, but I can only test "does it break anything" because for me the code doesn't crash. |
From @jhiOn Sat Mar 26 16:01:04 2016, jhi wrote:
Looking at the patch: in the second chunk, shouldn't/couldn't the zeroing of stuff still happen before the dladdr() call? I understand why the adding to the total_bytes needs to happen only if dladdr succeeded, but the zeroing probably should happen either way. |
From @jhiOn Sat Mar 26 16:23:31 2016, jhi wrote:
Could you try blead with the -Dusecbacktrace at http://perl5.git.perl.org/perl.git/commit/4d00a3198aa6950e874328ec431d15c821382cce ? |
From @vovkasmOn Sun, Mar 27, 2016 at 7:14 PM, Jarkko Hietaniemi via RT
No, because those arrays (object_name_sizes, source_names,
Yes, it works. Thank you! -- |
From @jhiOn Sun Mar 27 10:09:47 2016, vovkasm wrote:
Marking as resolved, then. Thanks for testing. |
@jhi - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#127773 (status was 'resolved')
Searchable as RT127773$
The text was updated successfully, but these errors were encountered: