On Fri, 24 Jan 2014, Hisashi T Fujinaka wrote: > On Sat, 25 Jan 2014, Damien Miller wrote: > > > You'll probably need this patch too, to make sure you are testing the > > right scp - our regress tests were incorrectly testing the system one > > rather than the one that was just built: > > > > > > commit b0e0f760b861676a3fe5c40133b270713d5321a9 > > I think I'm doing something wrong because I'm still stuck at the copy. > Maybe I can get it to dump a core file. There will be two sftp processes run in the test - see if you can get a core and ktrace from each. I used something like this (patch from memory): Index: regress/scp-ssh-wrapper.sh =================================================================== RCS file: /var/cvs/openssh/regress/scp-ssh-wrapper.sh,v retrieving revision 1.4 diff -u -p -r1.4 scp-ssh-wrapper.sh --- regress/scp-ssh-wrapper.sh 24 Jan 2014 03:27:06 -0000 1.4 +++ regress/scp-ssh-wrapper.sh 25 Jan 2014 01:12:30 -0000 @@ -54,6 +54,6 @@ badserver_4) *) set -- $arg shift - exec $SCP "$@" + exec ktruss -o /tmp/scp-remote.ktrace $SCP "$@" ;; esac Index: regress/scp.sh =================================================================== RCS file: /var/cvs/openssh/regress/scp.sh,v retrieving revision 1.13 diff -u -p -r1.13 scp.sh --- regress/scp.sh 24 Jan 2014 03:27:06 -0000 1.13 +++ regress/scp.sh 25 Jan 2014 01:13:12 -0000 @@ -29,63 +29,63 @@ scpclean() { verbose "$tid: simple copy local file to local file" scpclean -$SCP $scpopts ${DATA} ${COPY} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts ${DATA} ${COPY} || fail "copy failed" cmp ${DATA} ${COPY} || fail "corrupted copy" verbose "$tid: simple copy local file to remote file" scpclean -$SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed" cmp ${DATA} ${COPY} || fail "corrupted copy" verbose "$tid: simple copy remote file to local file" scpclean -$SCP $scpopts somehost:${DATA} ${COPY} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts somehost:${DATA} ${COPY} || fail "copy failed" cmp ${DATA} ${COPY} || fail "corrupted copy" verbose "$tid: simple copy local file to remote dir" scpclean cp ${DATA} ${COPY} -$SCP $scpopts ${COPY} somehost:${DIR} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts ${COPY} somehost:${DIR} || fail "copy failed" cmp ${COPY} ${DIR}/copy || fail "corrupted copy" verbose "$tid: simple copy local file to local dir" scpclean cp ${DATA} ${COPY} -$SCP $scpopts ${COPY} ${DIR} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts ${COPY} ${DIR} || fail "copy failed" cmp ${COPY} ${DIR}/copy || fail "corrupted copy" verbose "$tid: simple copy remote file to local dir" scpclean cp ${DATA} ${COPY} -$SCP $scpopts somehost:${COPY} ${DIR} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts somehost:${COPY} ${DIR} || fail "copy failed" cmp ${COPY} ${DIR}/copy || fail "corrupted copy" verbose "$tid: recursive local dir to remote dir" scpclean rm -rf ${DIR2} cp ${DATA} ${DIR}/copy -$SCP $scpopts -r ${DIR} somehost:${DIR2} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts -r ${DIR} somehost:${DIR2} || fail "copy failed" diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" verbose "$tid: recursive local dir to local dir" scpclean rm -rf ${DIR2} cp ${DATA} ${DIR}/copy -$SCP $scpopts -r ${DIR} ${DIR2} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts -r ${DIR} ${DIR2} || fail "copy failed" diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" verbose "$tid: recursive remote dir to local dir" scpclean rm -rf ${DIR2} cp ${DATA} ${DIR}/copy -$SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed" +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed" diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" verbose "$tid: shell metacharacters" scpclean (cd ${DIR} && \ touch '`touch metachartest`' && \ -$SCP $scpopts *metachar* ${DIR2} 2>/dev/null; \ +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts *metachar* ${DIR2} 2>/dev/null; \ [ ! -f metachartest ] ) || fail "shell metacharacters" if [ ! -z "$SUDO" ]; then @@ -119,7 +119,7 @@ verbose "$tid: detect non-directory targ scpclean echo a > ${COPY} echo b > ${COPY2} -$SCP $scpopts ${DATA} ${COPY} ${COPY2} +ktruss -o /tmp/scp-local.ktrace $SCP $scpopts ${DATA} ${COPY} ${COPY2} cmp ${COPY} ${COPY2} >/dev/null && fail "corrupt target" scpclean