graph (plotutils) seg-faulting

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Tue Jul 21 14:50:41 GMT 2020


On 2020-07-20 22:28, Marco Atzeri via Cygwin wrote:
> On 21.07.2020 05:12, briand@pounceofcats.com wrote:
>> On Sun, 19 Jul 2020 21:15:26 +0200
>> Marco Atzeri via Cygwin <cygwin@cygwin.com> wrote:
>>>> Can I just back up my home directory, kill the entire cygwin64 directory and
>>>> start over ?
>>> I suggest to install in a parallel directory, they works fine without
>>> interference, eg in my system I have:
>>> In this way you can copy your home more easily and kill the old one when
>>> everything is fine.
>> I tell you my work machine is just cursed.  Installed a fresh cygwin, the only
>> package i chose was plotutils, and i get the exact same problem.
>> Not sure where to go from here...
> I bet the curse is a BLODA
> https://cygwin.com/faq/faq.html#faq.using.bloda
> also as I noted that the loading address of your DLLs is **very** low
> my pc:
> $ grep cygwin1.dll graph.strace
> --- Process 84828 loaded D:\cygwin64\bin\cygwin1.dll at 0000000180040000
> your strace
> $ grep cygwin1.dll temp.txt
> --- Process 3080 loaded C:\cygwin64\bin\cygwin1.dll at 0000000000ce0000
> --- Process 3080 loaded C:\cygwin64\bin\cygwin1.dll at 0000000000ee0000
> --- Process 3080 loaded C:\cygwin64\bin\cygwin1.dll at 00000000014f0000
> can you exclude the AV from your cygwin directory ?

Nasty slow AV hiding itself by intercepting the DLL loader and slowing all your
programs by reloading every DLL on every call! How can you get any work done at
that rate? You need a Xeon to get an Atom's worth of work done. ;^<
If you don't already have one, you could request a workstation with that CPU,
64GB max speed RAM, and giant SSD to counteract the impact of the AV, or request
they come up with an alternative approach. ;^>

If you can't provide a full cygcheck, at least cygcheck and ldd cygwin1.dll and
graph and provide the list of DLLs invoked, which may show interceptions, and
may sometimes be avoided by adjusting Cygwin PATH; e.g.:

$ for e in /bin/cygwin1.dll /bin/graph; do
    for p in /bin/cygcheck /bin/ldd; do
      echo \$ $p $e; $p $e;
    done;
  done | sed 's!^\t!!;s!\\!/!g;s!/cygdrive/c/!c:/!;s!C:/cygwin/!/!'
$ /bin/cygcheck /bin/cygwin1.dll
/bin/cygwin1.dll
  C:/Windows/system32/KERNEL32.dll
    C:/Windows/system32/ntdll.dll
    C:/Windows/system32/KERNELBASE.dll
$ /bin/ldd /bin/cygwin1.dll
ntdll.dll => c:/Windows/SYSTEM32/ntdll.dll (0x7ffb78b40000)
KERNEL32.DLL => c:/Windows/System32/KERNEL32.DLL (0x7ffb77c90000)
KERNELBASE.dll => c:/Windows/System32/KERNELBASE.dll (0x7ffb76940000)
advapi32.dll => c:/Windows/System32/advapi32.dll (0x7ffb76d50000)
msvcrt.dll => c:/Windows/System32/msvcrt.dll (0x7ffb78380000)
sechost.dll => c:/Windows/System32/sechost.dll (0x7ffb77bf0000)
RPCRT4.dll => c:/Windows/System32/RPCRT4.dll (0x7ffb78760000)
CRYPTBASE.DLL => c:/Windows/SYSTEM32/CRYPTBASE.DLL (0x7ffb753d0000)
bcryptPrimitives.dll => c:/Windows/System32/bcryptPrimitives.dll (0x7ffb768c0000)
$ /bin/cygcheck /bin/graph
/bin/graph.exe
  /bin/cygplot-2.dll
    /bin/cygwin1.dll
      C:/Windows/system32/KERNEL32.dll
        C:/Windows/system32/ntdll.dll
        C:/Windows/system32/KERNELBASE.dll
    /bin/cygpng16-16.dll
      /bin/cygz.dll
    /bin/cygX11-6.dll
      /bin/cygxcb-1.dll
        /bin/cygXau-6.dll
        /bin/cygXdmcp-6.dll
    /bin/cygXaw-7.dll
      /bin/cygXext-6.dll
        /bin/cyggcc_s-seh-1.dll
      /bin/cygXmu-6.dll
        /bin/cygXt-6.dll
          /bin/cygICE-6.dll
          /bin/cygSM-6.dll
            /bin/cyguuid-1.dll
              /bin/cygintl-8.dll
                /bin/cygiconv-2.dll
      /bin/cygXpm-4.dll
$ /bin/ldd /bin/graph
ntdll.dll => c:/Windows/SYSTEM32/ntdll.dll (0x7ffb78b40000)
KERNEL32.DLL => c:/Windows/System32/KERNEL32.DLL (0x7ffb77c90000)
KERNELBASE.dll => c:/Windows/System32/KERNELBASE.dll (0x7ffb76940000)
cygplot-2.dll => /usr/bin/cygplot-2.dll (0x3bb760000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000)
cygpng16-16.dll => /usr/bin/cygpng16-16.dll (0x3bb610000)
cygXext-6.dll => /usr/bin/cygXext-6.dll (0x3eb640000)
cygXaw-7.dll => /usr/bin/cygXaw-7.dll (0x3eb710000)
cygXt-6.dll => /usr/bin/cygXt-6.dll (0x3eb220000)
cygX11-6.dll => /usr/bin/cygX11-6.dll (0x3eb7b0000)
cygz.dll => /usr/bin/cygz.dll (0x3b2da0000)
cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x3dd6b0000)
cygXmu-6.dll => /usr/bin/cygXmu-6.dll (0x3eb300000)
cygXpm-4.dll => /usr/bin/cygXpm-4.dll (0x3eb2d0000)
cygICE-6.dll => /usr/bin/cygICE-6.dll (0x3ffc80000)
cygSM-6.dll => /usr/bin/cygSM-6.dll (0x3ebb40000)
cygxcb-1.dll => /usr/bin/cygxcb-1.dll (0x3b2f90000)
cyguuid-1.dll => /usr/bin/cyguuid-1.dll (0x3b73e0000)
cygXau-6.dll => /usr/bin/cygXau-6.dll (0x3eb780000)
cygXdmcp-6.dll => /usr/bin/cygXdmcp-6.dll (0x3eb660000)
cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3c2560000)
cygX11-6.dll => /usr/bin/cygX11-6.dll (0xcd0000)
cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3d6e00000)

-- 
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 IEC units and prefixes, physical quantities in SI.]


More information about the Cygwin mailing list