delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/07/09/17:01:39

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_EG,TW_YG
X-Spam-Check-By: sourceware.org
MIME-Version: 1.0
In-Reply-To: <4FF88907.5060100@dancol.org>
References: <4FF76A98 DOT 2020309 AT dancol DOT org> <4FF833DC DOT 8090908 AT gmail DOT com> <4FF83C71 DOT 5000803 AT dancol DOT org> <CAHiT=DF+JfGcMVJ5x05cu1c7tZniRUfeTNNnBf4tzrHZq99+jA AT mail DOT gmail DOT com> <4FF8759A DOT 10400 AT gmail DOT com> <4FF88907 DOT 5060100 AT dancol DOT org>
Date: Mon, 9 Jul 2012 16:01:07 -0500
Message-ID: <CAHiT=DFvbMBSor+3cGQzpKE19YUHWH2uErkfGxcVOOAOt_J2sQ@mail.gmail.com>
Subject: Re: clisp crashes on startup
From: Reini Urban <rurban AT x-ray DOT at>
To: cygwin AT cygwin DOT com
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Sat, Jul 7, 2012 at 2:07 PM, Daniel Colascione wrote:
> On 7/7/2012 10:44 AM, marco atzeri wrote:
>> On 7/7/2012 6:19 PM, Reini Urban wrote:
>>> On Sat, Jul 7, 2012 at 8:41 AM, Daniel Colascione  wrote:
>>>> On 7/7/12 6:04 AM, marco atzeri wrote:
>>>>> On 7/7/2012 12:45 AM, Daniel Colascione wrote:
>>>>>> $ clisp
>>>
>>> Looks like a missing dependency or wrong dll perm. I saw none in your
>>> cygcheck.
>>>
>>> Can you try
>>> $ ldd /usr/lib/clisp-2.48/base/lisp.exe
>>> and see of one dll is missing.
>>> And check if one of the dll's has no x perm set.
>>
>>
>> $ cygcheck /usr/lib/clisp-2.48/base/lisp.exe
>>
>> should be better. ldd does not advise about missing dll's
>
> $ cygcheck /usr/lib/clisp-2.48/base/lisp.exe
> C:\lib\clisp-2.48\base\lisp.exe
>   C:\bin\cyggcc_s-1.dll
>     C:\bin\cygwin1.dll
>       C:\Windows\system32\KERNEL32.dll
>         C:\Windows\system32\API-MS-Win-Core-RtlSupport-L1-1-0.dll
>         C:\Windows\system32\ntdll.dll
>         C:\Windows\system32\KERNELBASE.dll
>         C:\Windows\system32\API-MS-Win-Core-ProcessThreads-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Heap-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Memory-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Handle-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Synch-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-File-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-IO-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-ThreadPool-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-LibraryLoader-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-NamedPipe-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Misc-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-SysInfo-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Localization-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-ProcessEnvironment-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-String-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Debug-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-ErrorHandling-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Fibers-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Util-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Core-Profile-L1-1-0.dll
>         C:\Windows\system32\API-MS-Win-Security-Base-L1-1-0.dll
>   C:\bin\cygcrypt-0.dll
>   C:\bin\cygiconv-2.dll
>   C:\bin\cygintl-8.dll
>   C:\bin\cygncurses-9.dll
>   C:\bin\cygreadline7.dll
>     C:\bin\cygncursesw-10.dll
>     C:\Windows\system32\USER32.dll
>       C:\Windows\system32\GDI32.dll
>         C:\Windows\system32\API-MS-Win-Core-LocalRegistry-L1-1-0.dll
>         C:\Windows\system32\LPK.dll
>           C:\Windows\system32\USP10.dll
>             C:\Windows\system32\msvcrt.dll
>               C:\Windows\system32\API-MS-Win-Core-Console-L1-1-0.dll
>               C:\Windows\system32\API-MS-Win-Core-DateTime-L1-1-0.dll
>               C:\Windows\system32\API-MS-Win-Core-Interlocked-L1-1-0.dll
>       C:\Windows\system32\ADVAPI32.dll
>         C:\Windows\system32\API-MS-WIN-Service-Core-L1-1-0.dll
>         C:\Windows\system32\API-MS-WIN-Service-winsvc-L1-1-0.dll
>         C:\Windows\system32\API-MS-WIN-Service-Management-L1-1-0.dll
>         C:\Windows\system32\API-MS-WIN-Service-Management-L2-1-0.dll
>         C:\Windows\system32\RPCRT4.dll
>           C:\Windows\system32\SspiCli.dll
>             C:\Windows\system32\CRYPTBASE.dll
>               C:\Windows\system32\API-MS-Win-Core-DelayLoad-L1-1-0.dll
>             C:\Windows\system32\API-MS-Win-Security-LSALookup-L1-1-0.dll
>   C:\bin\cygsigsegv-2.dll
>   C:\Windows\system32\OLE32.dll
>   C:\Windows\system32\OLEAUT32.DLL
>
> ldd doesn't report an error either. ldd's output _is_ a bit odd, however:
>
> $ ldd /usr/lib/clisp-2.48/full/lisp.exe
>         ntdll.dll => /Windows/SysWOW64/ntdll.dll (0x7de70000)
>         kernel32.dll => /Windows/syswow64/kernel32.dll (0x7dd60000)
>         KERNELBASE.dll => /Windows/syswow64/KERNELBASE.dll (0x7d850000)
>         cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0xc5ab0000)
>         cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
>         cygcrypt-0.dll => /usr/bin/cygcrypt-0.dll (0xc6400000)
>         cygdb-4.5.dll => /usr/bin/cygdb-4.5.dll (0xc5fd0000)
>         cygfcgi-0.dll => /usr/bin/cygfcgi-0.dll (0xc5e90000)
>         cyggdbm-4.dll => /usr/bin/cyggdbm-4.dll (0xc59e0000)
>         cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0xc4110000)
>         cygintl-8.dll => /usr/bin/cygintl-8.dll (0xc40b0000)
>         cygncurses-9.dll => /usr/bin/cygncurses-9.dll (0xc39e0000)
>         cygpcre-0.dll => /usr/bin/cygpcre-0.dll (0xc37f0000)
>         cygpq.dll => /usr/bin/cygpq.dll (0xc3050000)
>         cygcrypto-0.9.8.dll => /usr/bin/cygcrypto-0.9.8.dll (0xc62c0000)
>         cygz.dll => /usr/bin/cygz.dll (0xc21f0000)
>         cygldap-2-3-0.dll => /usr/bin/cygldap-2-3-0.dll (0xc3e80000)
>         cyglber-2-3-0.dll => /usr/bin/cyglber-2-3-0.dll (0xc3f00000)
>         cygcrypto-1.0.0.dll => /usr/bin/cygcrypto-1.0.0.dll (0xc6130000)
>         cygsasl2-2.dll => /usr/bin/cygsasl2-2.dll (0xc2e90000)
>         cygssl-1.0.0.dll => /usr/bin/cygssl-1.0.0.dll (0xc2bd0000)
>         cygssl-0.9.8.dll => /usr/bin/cygssl-0.9.8.dll (0xc2c30000)
>         cygreadline7.dll => /usr/bin/cygreadline7.dll (0xc2f10000)
>         cygncursesw-10.dll => /usr/bin/cygncursesw-10.dll (0xc3990000)
>         USER32.dll => /Windows/syswow64/USER32.dll (0x7dc50000)
>         GDI32.dll => /Windows/syswow64/GDI32.dll (0x7dab0000)
>         LPK.dll => /Windows/syswow64/LPK.dll (0x7d620000)
>         USP10.dll => /Windows/syswow64/USP10.dll (0x6f8e0000)
>         msvcrt.dll => /Windows/syswow64/msvcrt.dll (0x6ff50000)
>         ADVAPI32.dll => /Windows/syswow64/ADVAPI32.dll (0x77c60000)
>         sechost.dll => /Windows/SysWOW64/sechost.dll (0x2b20000)
>         RPCRT4.dll => /Windows/syswow64/RPCRT4.dll (0x7db50000)
>         SspiCli.dll => /Windows/syswow64/SspiCli.dll (0x7d8a0000)
>         CRYPTBASE.dll => /Windows/syswow64/CRYPTBASE.dll (0x10000000)
>         cygsigsegv-2.dll => /usr/bin/cygsigsegv-2.dll (0xc2e40000)
>         OLE32.dll => /Windows/syswow64/OLE32.dll (0x72540000)
>         OLEAUT32.DLL => /Windows/syswow64/OLEAUT32.DLL (0x6fc30000)
>         svm.dll => /usr/lib/clisp-2.48/full/svm.dll (0xc1ec0000)
>         cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0xc2af0000)
>         ??? => ??? (0x1490000)
>         IMM32.DLL => /Windows/system32/IMM32.DLL (0x7d910000)
>         MSCTF.dll => /Windows/syswow64/MSCTF.dll (0x70990000)
>
>
> That "??? => ??? (0x1490000)" line is worrisome. I fired up a
> PROC_THREAD+LOADER ETW trace --- c:\windows\sysow64\kernel32.dll is
> loaded at that address and unloaded again before ldd gets around to
> calling GetModuleFileNameEx on it. Is that supposed to happen?

No idea. 0x1490000 would be too low anyway, even for kernel32.dll.
Maybe it's just a temporary cygwin artefact.

> I don't think it's a DLL issue, though. clisp _does_ start and print out
> its banner, so the OS loader has to get as far as running the program's
> entry point. clisp seems to be crashing when loading its saved memory image.

Hmm, if you haven't changed or corrupted the image it should also not happen.
There is some dll rebase fixup happening when loading the image, this aera
is stable for years.
You could try to reinstall clisp.

What concerns me is:
1. I cannot repro it and never heard of it before.
2. ldd reports wow64, cygcheck only 32bit dlls.
    You could try ldd the base/lisp.exe not the full. full has much
more dll deps
   and is not used when starting base with clisp. clisp -k full would use full.
3. I do not have all those .net dlls in my process. Maybe we need a manifest?
-- 
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019