This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: clisp crashes on startup


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]