Bug #77752 [NEW]: Cursor position erroneously offset when handling user input
| From: | lauter dot miriam at gmail dot com | Date: | Fri, 15 Mar 2019 19:20:08 +0000 |
| Subject: | Bug #77752 [NEW]: Cursor position erroneously offset when handling user input | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-219990@lists.php.net to get a copy of this message | ||
From: lauter dot miriam at gmail dot com
Operating system: Linux 3.10.0-327.10.1.el7.x86_64
PHP version: 7.3.3
Package: phpdbg
Bug Type: Bug
Bug description:Cursor position erroneously offset when handling user input
Description:
------------
php 7.3.3
Summary:
When typing user input at the phpdbg command line prompt, the cursor
becomes offset from the start of user input.
Steps to repro:
1. Start phpdbg from the command line
2. Type 21 or more characters (e.g. the letter a..u)
3. Hit Ctrl-A or other shortcut to return to beginning of line
Expected: Cursor will be at the beginning of user input
Actual: Cursor is 12 characters offset from users input,
and the first 12 characters cannot be deleted.
(Also, hit Ctrl-E or other end of line shortcut, cursor will be 12 chars
past the end of user input)
configure info:
Configure Command => './configure' '--build=x86_64-koji-linux-gnu'
'--host=x86_64-koji-linux-gnu' '--program-prefix='
'--disable-dependency-tracking' '--libdir=/usr/lib64'
'--bindir=/usr/bin' '--datadir=/usr/share' '--disable-debug'
'--disable-rpath' '--enable-bcmath' '--enable-calendar'
'--enable-dba'
'--enable-dom' '--enable-exif' '--enable-fileinfo'
'--enable-fpm'
'--enable-ftp' '--enable-intl' '--enable-json'
'--enable-mbregex'
'--enable-mbstring' '--enable-mysqlnd' '--enable-pcntl'
'--enable-pdo'
'--enable-phar=shared' '--enable-posix' '--enable-shmop'
'--enable-soap'
'--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem'
'--enable-sysvshm' '--enable-wddx' '--enable-xml'
'--enable-xmlreader'
'--enable-xmlwriter' '--enable-zip' '--with-fpm-systemd'
'--enable-huge-code-pages' '--exec-prefix=/usr'
'--includedir=/usr/include' '--infodir=/usr/share/info'
'--libdir=/usr/lib64/php' '--libexecdir=/usr/libexec'
'--localstatedir=/var' '--mandir=/usr/share/man' '--prefix=/usr'
'--program-suffix=7' '--sbindir=/usr/sbin' '--sharedstatedir=/var/lib'
'--sysconfdir=/etc' '--enable-phpdbg' '--with-apxs2'
'--with-bz2'
'--with-config-file-path=/etc/php7'
'--with-config-file-scan-dir=/etc/php7/php.d' '--with-curl=/usr'
'--with-db4=/usr' '--with-freetype-dir=/usr' '--with-gd'
'--with-gettext' '--with-gmp' '--with-iconv'
'--with-icu-dir=/usr'
'--with-imap' '--with-imap-ssl' '--with-jpeg-dir=/usr'
'--with-kerberos'
'--with-layout=GNU' '--with-ldap' '--with-ldap-sasl'
'--with-libdir=lib64' '--with-libxml-dir=/usr' '--with-mhash'
'--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=mysqlnd'
'--with-openssl' '--with-pdo-mysql' '--with-pdo-odbc=unixODBC,/usr'
'--with-pdo-pgsql=/usr' '--with-pdo-sqlite=/usr' '--with-pgsql'
'--with-pic' '--with-png-dir=/usr' '--with-pspell'
'--with-readline'
'--with-snmp=/usr' '--with-sqlite3=/usr' '--with-tidy=/usr'
'--with-unixODBC=/usr' '--with-xmlrpc' '--with-xsl=/usr'
'--with-zlib'
'--with-sodium' '--without-gdbm' '--without-pear'
'build_alias=x86_64-koji-linux-gnu' 'host_alias=x86_64-koji-linux-gnu'
'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
-m64 -mtune=generic' 'CXXFLAGS=-O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
--param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'
infocmp:
# Reconstructed via infocmp from file:
/usr/share/terminfo/x/xterm-256color
xterm-256color|xterm with 256 colors,
am, bce, ccc, km, mc5i, mir, msgr, npc, xenl,
colors#256, cols#80, it#8, lines#24, pairs#32767,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
ind=^J, indn=\E[%p1%dS,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kDC=\E[3;2~,
kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, kLFT=\E[1;2D,
kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, kb2=\EOE,
kbs=\177, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
kcuu1=\EOA, kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\EOP,
kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[1;2P,
kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~,
kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~,
kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~,
kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R,
kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~,
kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~,
kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R, kf4=\EOS,
kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~,
kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~,
kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R,
kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
kf8=\E[19~, kf9=\E[20~, khome=\EOH, kich1=\E[2~,
kind=\E[1;2B, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
kri=\E[1;2A, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El,
memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l,
rmir=\E[4l, rmkx=\E[?1l\E>, rmm=\E[?1034l, rmso=\E[27m,
rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h,
smir=\E[4h, smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m,
smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd,
Test script:
---------------
see repro steps above
Expected result:
----------------
Cursor will be at the beginning of user input
Actual result:
--------------
Cursor is 12 characters offset from users input
--
Edit bug report at https://bugs.php.net/bug.php?id=77752&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=77752&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=77752&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=77752&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=77752&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=77752&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=77752&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=77752&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=77752&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=77752&r=support
Expected behavior: https://bugs.php.net/fix.php?id=77752&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=77752&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=77752&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=77752&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=77752&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=77752&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=77752&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=77752&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=77752&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=77752&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=77752&r=mysqlcfg