You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a bug report for perl from [email protected],
generated with the help of perlbug 1.40 running under perl 5.24.1.
-----------------------------------------------------------------
[Please describe your issue here]
Hi. Here I put breakpoint and expect that debugger will stop script
execution. But it is stopped at some different not expected place:
69:
x70: $DB::single = 1 if $table->search( $cond )->count > 1;
71:
1>72: 1;
x73: 1;
74:
75: ## If requested then update found row by provided $data
x76: if( $update ) { $row->update( $data ); }
77:
78:
x79: return $row;
80: }
81:
82:
30: # FIXME - this is not really necessary, and is in
31: # fact going to slow things down a bit
32: # However it is the right thing to do in order to get
33: # various install bases to highlight their brokenness
34: # Remove at some unknown point in the future
>>35: sub DESTROY { &DBIx::Class::_Util::detected_reinvoked_destructor }
36:
37: sub mk_classdata {
x38: shift->mk_classaccessor(@_);
39: }
As you can see we are stopped at line 35 of
/home/nazar/work/projects/tucha/monkeyman/app/maitre_d/../..//local/lib/perl5/DBIx/Class.pm
file. If we analyze caller's stack frames we will found that DESTROY
is called from line 72 of
/home/nazar/work/projects/tucha/monkeyman/app/maitre_d/../..//lib/S.pm
file.
As you can see the line 72 is just `1;` expression.
If I rewrite my breakpoint condition as:
68: };
69:
x70: if( $table->search( $cond )->count > 1 ) {
>>71: $DB::single = 1; 1;
72: }
73:
74: ## If requested then update found row by provided $data
x75: if( $update ) { $row->update( $data ) }
76:
77:
x78: return $row;
79: }
Then script execution is stopped at expected place.
In the past I already reported that debugger does not stop on `if`
statements, but it seems that debugger does not stop and on return
statements.
Expected: at first example, script execution should be stopped on line 72
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=medium
---
Site configuration information for perl 5.24.1:
Configured by kes at Mon May 7 20:59:03 EEST 2018.
Summary of my perl5 (revision 5 version 24 subversion 1) configuration:
Platform:
osname=linux, osvers=4.13.0-26-generic, archname=x86_64-linux
uname='linux work 4.13.0-26-generic #29~16.04.2-ubuntu smp tue jan 9 22:00:44 utc 2018 x86_64 x86_64 x86_64 gnulinux '
config_args='-de -Dprefix=/home/kes/perl5/perlbrew/perls/perl-5.24.1 -Aeval:scriptdir=/home/kes/perl5/perlbrew/perls/perl-5.24.1/bin'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion='', gccversion='5.4.0 20160609', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64
libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.23.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.23'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Locally applied patches:
Devel::PatchPerl 1.38
---
@INC for perl 5.24.1:
/home/kes/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
/home/kes/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
/home/kes/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
/home/kes/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
---
Environment for perl 5.24.1:
HOME=/home/kes
LANG=en_US.UTF-8
LANGUAGE=en
LC_ADDRESS=uk_UA.UTF-8
LC_IDENTIFICATION=uk_UA.UTF-8
LC_MEASUREMENT=uk_UA.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_MONETARY=uk_UA.UTF-8
LC_NAME=uk_UA.UTF-8
LC_NUMERIC=uk_UA.UTF-8
LC_PAPER=uk_UA.UTF-8
LC_TELEPHONE=uk_UA.UTF-8
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/home/kes/perl5/perlbrew/bin:/home/kes/perl5/perlbrew/perls/perl-5.24.1/bin:/home/kes/bin:/home/kes/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PERLBREW=command perlbrew
PERLBREW_HOME=/home/kes/.perlbrew
PERLBREW_MANPATH=/home/kes/perl5/perlbrew/perls/perl-5.24.1/man
PERLBREW_PATH=/home/kes/perl5/perlbrew/bin:/home/kes/perl5/perlbrew/perls/perl-5.24.1/bin
PERLBREW_PERL=perl-5.24.1
PERLBREW_ROOT=/home/kes/perl5/perlbrew
PERLBREW_SHELLRC_VERSION=0.86
PERLBREW_VERSION=0.86
PERL_BADLANG (unset)
SHELL=/bin/bash
The text was updated successfully, but these errors were encountered:
Do you have a complete self-contained test program that demonstrates the problem? I wasn't able to produce a simple reproducer based on what you've supplied.
The text was updated successfully, but these errors were encountered: