From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10375 invoked from network); 25 Feb 2022 19:35:55 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 25 Feb 2022 19:35:55 -0000 Received: (qmail 3735 invoked by uid 550); 25 Feb 2022 19:35:51 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 3703 invoked from network); 25 Feb 2022 19:35:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=MApZXGtv1+VBeIi7P2a/ulm0O5OMHn/eTQ4DUvSadbo=; b=jMmf+0Q5dI1Z3rWSDUOvkFW8kYeTI9C+uW/pAsF/v/fr/yXY+FnTzWhiCJHSvftUNv t0iAHZS/yraZ9kdCqLBFhg2bBajYj9iwGh0En0dXJ0C1jdhvrroZLPppRSSDCTW2MQDf YfllY9hZwFNqj4ObnqM9E3ZG4N+ARgqiayVApyZofnUOwJmDv7jI3O69FR40XUtbEhen x4BrUxBMHqgp2mVFK8zdp+ePQUVCv5XYTvFISnJ3jmORnKkzyb1uCew/886RPrsKITug m6AjQbOb0qK3ro2I2Orsxdm21wvXR1uu4/T0EwgH/TqscroU57IOlGLKCH54mtTc74Vh KMOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=MApZXGtv1+VBeIi7P2a/ulm0O5OMHn/eTQ4DUvSadbo=; b=tdRfuywtfXk5c4Sl/qreHdQwAVM5Xbzk8/v4xruQ7od9rsfEutF6aZskI5JJIC+Au+ dzExR4+HtVM9Ml3Qkm3Y7EJmsLrgg5kmGH6XlNR1Dg2Z9PasFXp38mO7uWmXMUVfG/zV bmVtbJyznumf5kR3ZyPwt/9Z/+0kJiiBEXz3+9oDlonZRqNjERbeDMmkL4A46rlBhOse OGHkQjJr2VS+txGb9VwaL0u6yxi0r6FZwM+iHQBFxs5cgPKkZDstVkxo7PpbnLosFL8d NLKgixx2J7U4b+bKXxoStFHsVVz5x8uWXa2KU6JLj6v6P2qGpCs+TPY4MULwuTAdb2CO 4vRA== X-Gm-Message-State: AOAM5333+i8G5b0/viM3K0PoCMu0wENPGcsEzvcyXqZbScujlmXYRrin L8HBrpuNfqaWy02A6+8OBzBfUzroOOYu2C7mFKY39zem X-Google-Smtp-Source: ABdhPJxd6o6k/cExMt5abuCZXHpU4jISlJ6RieQnfRP3pVx2/3SHTShdK2DMQeFReZRCtMI6jYoxjmxL7QkLy8ch1us= X-Received: by 2002:aa7:d403:0:b0:40f:739c:cbae with SMTP id z3-20020aa7d403000000b0040f739ccbaemr8712297edq.267.1645817739449; Fri, 25 Feb 2022 11:35:39 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: From: naruto canada Date: Fri, 25 Feb 2022 19:35:39 +0000 Message-ID: To: musl@lists.openwall.com Content-Type: text/plain; charset="UTF-8" Subject: [musl] Re: anyone know how to approach this problem (expect5.x.x hangs) On 2/25/22, naruto canada wrote: > hi > > I'm in the process of porting all my desktop env. over to musl. > I'm about 70% done. I hit a few minor snags but got over them. > I had expected a lot more painful experience, but it turned out ok. > I could not get xserver to compile but will work around using vnc for now. > I am quite happy I got qemu to compile. > The last 30% (Browsers !!!), I dare not approach them right now. > > Anyway, back to my probem, expect5.x.x hangs, > no seg fault, so I do not know how to approach this problem. > normally I do a simple test: > expect -c "spawn ls" # this always succeeds. > > (I use expect to automate password creation) > VNCRP=123456 # need 6 characters # create ~/.vnc/passwd > echo '#!/usr/bin/expect > set timeout -1 > spawn vncpasswd > expect "Password:" > send "'$VNCRP'\r" > expect "Verify:" > send "'$VNCRP'\r" > expect "Would you like to enter a view-only password (y/n)?" > send "n\r" > interact' > /tmp/p.ex > expect /tmp/p.ex > This script works fine under glibc, but hangs under musl. > > I've already tried the same version of expect and patches from > aports-3.15.0/main/expect/*.patch > I got the same result. (it hangs) > > This is not a priority problem for me. I can easily work around it > without using expect. > Just wondering if anyone know how to approach this problem (when there > is no seg fault) I did a quick strace, and compare it with glibc: GLIBC CASE: ... open("/tmp/p.ex", O_RDONLY) = 4 spawn vncpasswd open("/dev/ptmx", O_RDWR) = 4 open("/etc/group", O_RDONLY|O_CLOEXEC) = 5 open("/dev/pts/18", O_RDWR|O_NOCTTY) = 5 Password: Verify: Would you like to enter a view-only password (y/n)? n --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=956, si_status=0, si_utime=0, si_stime=0} --- open("/dev/null", O_RDONLY) = 4 open("/dev/null", O_RDONLY) = 3 open("/dev/null", O_RDONLY) = 2 open("/dev/null", O_RDONLY) = 0 +++ exited with 0 +++ MUSL CASE: open("/tmp/p.ex", O_RDONLY|O_LARGEFILE) = 7 spawn vncpasswd open("/dev/ptmx", O_RDWR|O_NOCTTY|O_LARGEFILE) = 7 open("/dev/pts/3", O_RDWR|O_NOCTTY|O_LARGEFILE) = 8 syscall_397(0xffffff9c, 0xb6f624e0, 0, 0x7ff, 0xbe927e48, 0xb6f624e0) = -1 (errno 38) syscall_397(0x8, 0xb6f58350, 0x1000, 0x7ff, 0xbe927e48, 0xb6f624e0) = -1 (errno 38) syscall_403(0, 0xbe928258, 0xb6e82de0, 0, 0xbe928334, 0) = -1 (errno 38) syscall_389(0x10, 0, 0, 0xb6f62170, 0xbe92815c, 0xbe92808c) = -1 (errno 38) It seems to block or stopped at syscall_389 ( arch/arm/bits/syscall.h.in:#define __NR_membarrier 389 ) cd /build/musl-1.2.2/; grep membarrier * -r ... include/sys/membarrier.h:int membarrier(int, int); ldso/dynlink.c:#include ldso/dynlink.c: * if the new dtv pointer is. The __membarrier function has a ldso/dynlink.c: __membarrier(MEMBARRIER_CMD_PRIVATE_EXPEDITED, 0); ... src/internal/pthread_impl.h:hidden void __membarrier_init(void); src/linux/membarrier.c:#include src/linux/membarrier.c:int __membarrier(int cmd, int flags) src/linux/membarrier.c: int r = __syscall(SYS_membarrier, cmd, flags); src/linux/membarrier.c:void __membarrier_init(void) src/linux/membarrier.c: /* If membarrier is linked, attempt to pre-register to be able to use src/linux/membarrier.c: __syscall(SYS_membarrier, MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED, 0); src/linux/membarrier.c:weak_alias(__membarrier, membarrier); src/thread/pthread_create.c:weak_alias(dummy_0, __membarrier_init); src/thread/pthread_create.c: __membarrier_init(); I have no idea how to go further. > Thanks. >