Re: Just updated cygutils and cygstart no longer works
Mark Geisert writes: > What I've figured out is that it's not the cygstart code itself that's > been mis-compiled, it's apparently code pulled in from libcygwin.a as > cygstart.exe is being built (on my machine before packaging). …in other words, the compiler used to create that has probably switched to some other psABI version as their default recently. > I do have different gcc/g++ options for building local cygwin1.dll and > libcygwin.a: "-O2 -march=native -mtune=native" Yeah. Never build libraries with these flags unless you are really sure you only ever use them on the same machine. Again, I recommend to have separate Cygwin installations for building packages that are kept as close to stock config as possible. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf rackAttack V1.04R1: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Hi Achim, Achim Gratz wrote: Achim Gratz writes: The Cygwin gcc is configured to use -mtune=generic, …and -march=x86_64 on 64bit and -march=i686 on 32bit. While I'd love to switch to x86_64-v2, that would cut off a few processors that Win7 can be installed on. Thanks for the tips. Will do. What I've figured out is that it's not the cygstart code itself that's been mis-compiled, it's apparently code pulled in from libcygwin.a as cygstart.exe is being built (on my machine before packaging). I do have different gcc/g++ options for building local cygwin1.dll and libcygwin.a: "-O2 -march=native -mtune=native". The offending AVX instructions are located in _cygwin_crt0_common(). I also see a couple hundred other cases of AVX instructions within locally-built cygwin1.dll but those aren't important for resolving this issue. Sorry to any users who have or will run into this before it's fixed. If you're on a machine that supports AVX instructions you'll be OK. Otherwise, downgrading your cygutils packages to 1.4.16-2 will avoid the problem. ..mark -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Achim Gratz writes: > The Cygwin gcc is configured to use -mtune=generic, …and -march=x86_64 on 64bit and -march=i686 on 32bit. While I'd love to switch to x86_64-v2, that would cut off a few processors that Win7 can be installed on. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Mark Geisert writes: > I compiled the package with gcc 10.2.0 using the default options. Let > me investigate further to find some kind of solution for the AVX > usage, likely by using more/different gcc options. The Cygwin gcc is configured to use -mtune=generic, so if you're ending up with AVX instructions there must be something in the invocation that overrides either the tuning flags or the architecture flags. Getting rid of these things would be much preferrable over trying to undo whatever was done earlier as obviously if you get the order of these options wrong it might not work again. Check the environment and path settings and remove everything non-standard before starting the build (i.e just /usr/bin in the extreme). Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
On Fri, 13 Aug 2021 20:17:58 -0700 Mark Geisert wrote: > Brian Inglis wrote: > > On 2021-08-13 19:54, Takashi Yano via Cygwin wrote: > >> On Fri, 13 Aug 2021 15:20:40 -0700, Mark Geisert wrote: > >>> Jay Abel via Cygwin wrote: > On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: > > > Sorry, more information. I'm running Windows 10, 64-bit, AMD. > > I've reverted cygutils back to 1.4.16-2 and the problem is resolved. > > > > Run cygstart with anything and no window opens. I've tried URLS > > cygstart > > http://www.cygwin.com, directories cygstart . and cygstart ./ as well > > as > > pdf files cygstart example.pdf. > > None of these seems to do anything anymore. > > > >>> I have the same setup as you but all seems well here. With 1.4.16-3 > >>> installed all > >>> four of your testcases work for me. I don't know what to suggest. > >>> When you have a chance, what does 'echo $?' say at the prompt after > >>> cygstart > >>> finishes one of your testcases? 0 means successful, 1 (or something > >>> else) means > >>> failure. > > > >> I have the same issue with cygstart in cygutils 1.4.16-3. > >> "cygstart .; echo $?" says 0. > >> This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works. > >> To look into this problem, I tried to build cygutils from source, > >> however, it fails in the link stage of getclip with the error: > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > >> src/clip/getclip.o: in function `getclip': > >> /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined > >> reference to > >> `__imp_RtlUnicodeToUTF8N' > >> It seems that -lntdll flag is required to build it. Doesn't this error > >> happen in your environment? > >> So I modified Makefile.am to: > >> src_clip_getclip_LDADD = -lpopt -lntdll > >> src_clip_putclip_LDADD = -lpopt -lntdll > >> and tried to build again and succeeded. > >> The cygstart built locally works fine. > >> So I tried to debug cygstart using gdb and it says: > >> Thread 1 received signal SIGILL, Illegal instruction. > >> The disassembling result at $rip is: > >> => 0x000100401c15 <+389>: vmovdqa 0x18c3(%rip),%xmm0 # > >> 0x1004034e0 > >> This is a AVX instruction. > >> My CPU is Core i7-870, which does not support AVX. > >> Then I ran cygstart in another machine whose CPU is Core i7-4790 > >> and it works without the issue. > >> Conclusion: > >> cygstart in cygutils 1.4.16-3 is compiled with AVX extentions, > >> therefore it can not run in old machine. > > > > Any chance this could have been built with test gcc 11 using non-standard > > values > > instead of defaults -march=x86-64/i686 -mtune=generic? > > No, gcc 10.2.0 was used with those defaults. In my environment: $ objdump -d /usr/bin/cygstart |grep vmovdqa 100401c15: c5 f9 6f 05 c3 18 00vmovdqa 0x18c3(%rip),%xmm0# 0x1004034e0 100401c21: c5 f9 6f 0d c7 18 00vmovdqa 0x18c7(%rip),%xmm1# 0x1004034f0 100401c2e: c5 f9 6f 15 ca 18 00vmovdqa 0x18ca(%rip),%xmm2# 0x100403500 100401c3b: c5 f9 6f 1d cd 18 00vmovdqa 0x18cd(%rip),%xmm3# 0x100403510 $ objdump -d cygutils-1.4.16-3.src/cygutils-1.4.16-3.x86_64/inst/usr/bin/cygstart | grep vmovdqa $ -- Takashi Yano -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Hi Takashi, Thanks for that lead. It appears the Makefile.am change didn't make it into the commit for the getclip update. I'll remedy this shortly. I compiled the package with gcc 10.2.0 using the default options. Let me investigate further to find some kind of solution for the AVX usage, likely by using more/different gcc options. Thanks again, ..mark Takashi Yano via Cygwin wrote: Hi Mark, On Fri, 13 Aug 2021 15:20:40 -0700 Mark Geisert wrote: Hello Jay, Jay Abel via Cygwin wrote: Sorry, more information. I'm running Windows 10, 64-bit, AMD. I've reverted cygutils back to 1.4.16-2 and the problem is resolved. Jay On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: Run cygstart with anything and no window opens. I've tried URLS cygstart http://www.cygwin.com, directories cygstart . and cygstart ./ as well as pdf files cygstart example.pdf. None of these seems to do anything anymore. I have the same setup as you but all seems well here. With 1.4.16-3 installed all four of your testcases work for me. I don't know what to suggest. When you have a chance, what does 'echo $?' say at the prompt after cygstart finishes one of your testcases? 0 means successful, 1 (or something else) means failure. I have the same issue with cygstart in cygutils 1.4.16-3. "cygstart .; echo $?" says 0. This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works. To look into this problem, I tried to build cygutils from source, however, it fails in the link stage of getclip with the error: /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: src/clip/getclip.o: in function `getclip': /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined reference to `__imp_RtlUnicodeToUTF8N' It seems that -lntdll flag is required to build it. Doesn't this error happen in your environment? So I modified Makefile.am to: src_clip_getclip_LDADD = -lpopt -lntdll src_clip_putclip_LDADD = -lpopt -lntdll and tried to build again and succeeded. The cygstart built locally works fine. So I tried to debug cygstart using gdb and it says: Thread 1 received signal SIGILL, Illegal instruction. The disassembling result at $rip is: => 0x000100401c15 <+389>: vmovdqa 0x18c3(%rip),%xmm0# 0x1004034e0 This is a AVX instruction. My CPU is Core i7-870, which does not support AVX. Then I ran cygstart in another machine whose CPU is Core i7-4790 and it works without the issue. Conclusion: cygstart in cygutils 1.4.16-3 is compiled with AVX extentions, therefore it can not run in old machine. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Brian Inglis wrote: On 2021-08-13 19:54, Takashi Yano via Cygwin wrote: On Fri, 13 Aug 2021 15:20:40 -0700, Mark Geisert wrote: Jay Abel via Cygwin wrote: On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: Sorry, more information. I'm running Windows 10, 64-bit, AMD. I've reverted cygutils back to 1.4.16-2 and the problem is resolved. Run cygstart with anything and no window opens. I've tried URLS cygstart http://www.cygwin.com, directories cygstart . and cygstart ./ as well as pdf files cygstart example.pdf. None of these seems to do anything anymore. I have the same setup as you but all seems well here. With 1.4.16-3 installed all four of your testcases work for me. I don't know what to suggest. When you have a chance, what does 'echo $?' say at the prompt after cygstart finishes one of your testcases? 0 means successful, 1 (or something else) means failure. I have the same issue with cygstart in cygutils 1.4.16-3. "cygstart .; echo $?" says 0. This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works. To look into this problem, I tried to build cygutils from source, however, it fails in the link stage of getclip with the error: /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: src/clip/getclip.o: in function `getclip': /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined reference to `__imp_RtlUnicodeToUTF8N' It seems that -lntdll flag is required to build it. Doesn't this error happen in your environment? So I modified Makefile.am to: src_clip_getclip_LDADD = -lpopt -lntdll src_clip_putclip_LDADD = -lpopt -lntdll and tried to build again and succeeded. The cygstart built locally works fine. So I tried to debug cygstart using gdb and it says: Thread 1 received signal SIGILL, Illegal instruction. The disassembling result at $rip is: => 0x000100401c15 <+389>: vmovdqa 0x18c3(%rip),%xmm0 # 0x1004034e0 This is a AVX instruction. My CPU is Core i7-870, which does not support AVX. Then I ran cygstart in another machine whose CPU is Core i7-4790 and it works without the issue. Conclusion: cygstart in cygutils 1.4.16-3 is compiled with AVX extentions, therefore it can not run in old machine. Any chance this could have been built with test gcc 11 using non-standard values instead of defaults -march=x86-64/i686 -mtune=generic? No, gcc 10.2.0 was used with those defaults. ..mark -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
On 2021-08-13 19:54, Takashi Yano via Cygwin wrote: On Fri, 13 Aug 2021 15:20:40 -0700, Mark Geisert wrote: Jay Abel via Cygwin wrote: On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: Sorry, more information. I'm running Windows 10, 64-bit, AMD. I've reverted cygutils back to 1.4.16-2 and the problem is resolved. Run cygstart with anything and no window opens. I've tried URLS cygstart http://www.cygwin.com, directories cygstart . and cygstart ./ as well as pdf files cygstart example.pdf. None of these seems to do anything anymore. I have the same setup as you but all seems well here. With 1.4.16-3 installed all four of your testcases work for me. I don't know what to suggest. When you have a chance, what does 'echo $?' say at the prompt after cygstart finishes one of your testcases? 0 means successful, 1 (or something else) means failure. I have the same issue with cygstart in cygutils 1.4.16-3. "cygstart .; echo $?" says 0. This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works. To look into this problem, I tried to build cygutils from source, however, it fails in the link stage of getclip with the error: /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: src/clip/getclip.o: in function `getclip': /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined reference to `__imp_RtlUnicodeToUTF8N' It seems that -lntdll flag is required to build it. Doesn't this error happen in your environment? So I modified Makefile.am to: src_clip_getclip_LDADD = -lpopt -lntdll src_clip_putclip_LDADD = -lpopt -lntdll and tried to build again and succeeded. The cygstart built locally works fine. So I tried to debug cygstart using gdb and it says: Thread 1 received signal SIGILL, Illegal instruction. The disassembling result at $rip is: => 0x000100401c15 <+389>: vmovdqa 0x18c3(%rip),%xmm0# 0x1004034e0 This is a AVX instruction. My CPU is Core i7-870, which does not support AVX. Then I ran cygstart in another machine whose CPU is Core i7-4790 and it works without the issue. Conclusion: cygstart in cygutils 1.4.16-3 is compiled with AVX extentions, therefore it can not run in old machine. Any chance this could have been built with test gcc 11 using non-standard values instead of defaults -march=x86-64/i686 -mtune=generic? Could validate by posting /proc/cpuinfo output from non-/working systems using e.g. $ awk '/^processor\t+: +0$/,/^$/' /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 21 model : 101 model name : AMD A10-9700 RADEON R7, 10 COMPUTE CORES 4C+6G stepping: 1 microcode : 0x6006118 cpu MHz : 3500.000 cache size : 1024 KB physical id : 0 siblings: 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good acc_power nopl tsc_reliable nonstop_tsc cpuid aperfmperf pni pclmuldq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm perfctr_core perfctr_nb bpext ptsc mwaitx cpb hw_pstate fsgsbase bmi1 avx2 smep bmi2 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decode_assists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov bogomips: 7000.00 TLB size: 1536 4K pages clflush size: 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro acc_power $ awk '/^processor\t+: +0$/,/^$/' /proc/cpuinfo | fgrep avx flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good acc_power nopl tsc_reliable nonstop_tsc cpuid aperfmperf pni pclmuldq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave *avx* f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm perfctr_core perfctr_nb bpext ptsc mwaitx cpb hw_pstate fsgsbase bmi1 *avx*2 smep bmi2 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decode_assists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in binary units and prefixes, physical quantities in SI.] -- Problem reports: https://cygwin.com/problems.html FAQ:
Re: Just updated cygutils and cygstart no longer works
Hi Mark, On Fri, 13 Aug 2021 15:20:40 -0700 Mark Geisert wrote: > Hello Jay, > > Jay Abel via Cygwin wrote: > > Sorry, more information. I'm running Windows 10, 64-bit, AMD. > > > > I've reverted cygutils back to 1.4.16-2 and the problem is resolved. > > > > Jay > > > > On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: > > > >> Run cygstart with anything and no window opens. I've tried URLS cygstart > >> http://www.cygwin.com, directories cygstart . and cygstart ./ as well as > >> pdf files cygstart example.pdf. > >> > >> None of these seems to do anything anymore. > > I have the same setup as you but all seems well here. With 1.4.16-3 > installed all > four of your testcases work for me. I don't know what to suggest. > > When you have a chance, what does 'echo $?' say at the prompt after cygstart > finishes one of your testcases? 0 means successful, 1 (or something else) > means > failure. I have the same issue with cygstart in cygutils 1.4.16-3. "cygstart .; echo $?" says 0. This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works. To look into this problem, I tried to build cygutils from source, however, it fails in the link stage of getclip with the error: /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: src/clip/getclip.o: in function `getclip': /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined reference to `__imp_RtlUnicodeToUTF8N' It seems that -lntdll flag is required to build it. Doesn't this error happen in your environment? So I modified Makefile.am to: src_clip_getclip_LDADD = -lpopt -lntdll src_clip_putclip_LDADD = -lpopt -lntdll and tried to build again and succeeded. The cygstart built locally works fine. So I tried to debug cygstart using gdb and it says: Thread 1 received signal SIGILL, Illegal instruction. The disassembling result at $rip is: => 0x000100401c15 <+389>: vmovdqa 0x18c3(%rip),%xmm0# 0x1004034e0 This is a AVX instruction. My CPU is Core i7-870, which does not support AVX. Then I ran cygstart in another machine whose CPU is Core i7-4790 and it works without the issue. Conclusion: cygstart in cygutils 1.4.16-3 is compiled with AVX extentions, therefore it can not run in old machine. -- Takashi Yano -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Hello Jay, Jay Abel via Cygwin wrote: Sorry, more information. I'm running Windows 10, 64-bit, AMD. I've reverted cygutils back to 1.4.16-2 and the problem is resolved. Jay On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: Run cygstart with anything and no window opens. I've tried URLS cygstart http://www.cygwin.com, directories cygstart . and cygstart ./ as well as pdf files cygstart example.pdf. None of these seems to do anything anymore. I have the same setup as you but all seems well here. With 1.4.16-3 installed all four of your testcases work for me. I don't know what to suggest. When you have a chance, what does 'echo $?' say at the prompt after cygstart finishes one of your testcases? 0 means successful, 1 (or something else) means failure. ..mark -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: Just updated cygutils and cygstart no longer works
Sorry, more information. I'm running Windows 10, 64-bit, AMD. I've reverted cygutils back to 1.4.16-2 and the problem is resolved. Jay On Fri, Aug 13, 2021 at 10:27 AM Jay Abel wrote: > Run cygstart with anything and no window opens. I've tried URLS cygstart > http://www.cygwin.com, directories cygstart . and cygstart ./ as well as > pdf files cygstart example.pdf. > > None of these seems to do anything anymore. > -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple