Mail Archives: cygwin/2012/07/09/17:27:10
X-Recipient: | archive-cygwin AT delorie DOT com
|
X-SWARE-Spam-Status: | No, hits=-6.1 required=5.0 tests=AWL,BAYES_00,KHOP_PGP_SIGNED,KHOP_THREADED,SPF_HELO_PASS,TW_EG,TW_YG,T_RP_MATCHES_RCVD
|
X-Spam-Check-By: | sourceware.org
|
Message-ID: | <4FFB4C82.7050702@dancol.org>
|
Date: | Mon, 09 Jul 2012 14:26:26 -0700
|
From: | Daniel Colascione <dancol AT dancol DOT org>
|
User-Agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
|
MIME-Version: | 1.0
|
To: | cygwin AT cygwin DOT com
|
Subject: | Re: clisp crashes on startup
|
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> <CAHiT=DFvbMBSor+3cGQzpKE19YUHWH2uErkfGxcVOOAOt_J2sQ AT mail DOT gmail DOT com>
|
In-Reply-To: | <CAHiT=DFvbMBSor+3cGQzpKE19YUHWH2uErkfGxcVOOAOt_J2sQ@mail.gmail.com>
|
X-IsSubscribed: | yes
|
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm
|
List-Id: | <cygwin.cygwin.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
|
--------------enigC9756C8AAB39780C62EFC81A
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
On 7/9/12 2:01 PM, Reini Urban wrote:
> 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 =3D> /Windows/SysWOW64/ntdll.dll (0x7de70000)
>> kernel32.dll =3D> /Windows/syswow64/kernel32.dll (0x7dd60000)
>> KERNELBASE.dll =3D> /Windows/syswow64/KERNELBASE.dll (0x7d850000)
>> cyggcc_s-1.dll =3D> /usr/bin/cyggcc_s-1.dll (0xc5ab0000)
>> cygwin1.dll =3D> /usr/bin/cygwin1.dll (0x61000000)
>> cygcrypt-0.dll =3D> /usr/bin/cygcrypt-0.dll (0xc6400000)
>> cygdb-4.5.dll =3D> /usr/bin/cygdb-4.5.dll (0xc5fd0000)
>> cygfcgi-0.dll =3D> /usr/bin/cygfcgi-0.dll (0xc5e90000)
>> cyggdbm-4.dll =3D> /usr/bin/cyggdbm-4.dll (0xc59e0000)
>> cygiconv-2.dll =3D> /usr/bin/cygiconv-2.dll (0xc4110000)
>> cygintl-8.dll =3D> /usr/bin/cygintl-8.dll (0xc40b0000)
>> cygncurses-9.dll =3D> /usr/bin/cygncurses-9.dll (0xc39e0000)
>> cygpcre-0.dll =3D> /usr/bin/cygpcre-0.dll (0xc37f0000)
>> cygpq.dll =3D> /usr/bin/cygpq.dll (0xc3050000)
>> cygcrypto-0.9.8.dll =3D> /usr/bin/cygcrypto-0.9.8.dll (0xc62c000=
0)
>> cygz.dll =3D> /usr/bin/cygz.dll (0xc21f0000)
>> cygldap-2-3-0.dll =3D> /usr/bin/cygldap-2-3-0.dll (0xc3e80000)
>> cyglber-2-3-0.dll =3D> /usr/bin/cyglber-2-3-0.dll (0xc3f00000)
>> cygcrypto-1.0.0.dll =3D> /usr/bin/cygcrypto-1.0.0.dll (0xc613000=
0)
>> cygsasl2-2.dll =3D> /usr/bin/cygsasl2-2.dll (0xc2e90000)
>> cygssl-1.0.0.dll =3D> /usr/bin/cygssl-1.0.0.dll (0xc2bd0000)
>> cygssl-0.9.8.dll =3D> /usr/bin/cygssl-0.9.8.dll (0xc2c30000)
>> cygreadline7.dll =3D> /usr/bin/cygreadline7.dll (0xc2f10000)
>> cygncursesw-10.dll =3D> /usr/bin/cygncursesw-10.dll (0xc3990000)
>> USER32.dll =3D> /Windows/syswow64/USER32.dll (0x7dc50000)
>> GDI32.dll =3D> /Windows/syswow64/GDI32.dll (0x7dab0000)
>> LPK.dll =3D> /Windows/syswow64/LPK.dll (0x7d620000)
>> USP10.dll =3D> /Windows/syswow64/USP10.dll (0x6f8e0000)
>> msvcrt.dll =3D> /Windows/syswow64/msvcrt.dll (0x6ff50000)
>> ADVAPI32.dll =3D> /Windows/syswow64/ADVAPI32.dll (0x77c60000)
>> sechost.dll =3D> /Windows/SysWOW64/sechost.dll (0x2b20000)
>> RPCRT4.dll =3D> /Windows/syswow64/RPCRT4.dll (0x7db50000)
>> SspiCli.dll =3D> /Windows/syswow64/SspiCli.dll (0x7d8a0000)
>> CRYPTBASE.dll =3D> /Windows/syswow64/CRYPTBASE.dll (0x10000000)
>> cygsigsegv-2.dll =3D> /usr/bin/cygsigsegv-2.dll (0xc2e40000)
>> OLE32.dll =3D> /Windows/syswow64/OLE32.dll (0x72540000)
>> OLEAUT32.DLL =3D> /Windows/syswow64/OLEAUT32.DLL (0x6fc30000)
>> svm.dll =3D> /usr/lib/clisp-2.48/full/svm.dll (0xc1ec0000)
>> cygstdc++-6.dll =3D> /usr/bin/cygstdc++-6.dll (0xc2af0000)
>> ??? =3D> ??? (0x1490000)
>> IMM32.DLL =3D> /Windows/system32/IMM32.DLL (0x7d910000)
>> MSCTF.dll =3D> /Windows/syswow64/MSCTF.dll (0x70990000)
>>
>>
>> That "??? =3D> ??? (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?
>=20
> 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 Cygwin artifact --- after all, ETW _does_ show
that we load and unload a DLL at that location. I can provide the
trace if it'd help. The mystery entry in ldd shows up for _any_
program that links against cygwin1.dll and for cygwin1.dll itself, but
not for other 32-bit programs like \windows\syswow64\notepad.exe
>> 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 im=
age.
>=20
> Hmm, if you haven't changed or corrupted the image it should also not hap=
pen.
> There is some dll rebase fixup happening when loading the image, this aera
> is stable for years.
> You could try to reinstall clisp.
I've done that a few times now. I've also tried to compile the most
recent clisp release from source, and it failed similarly.
> 1. I cannot repro it and never heard of it before.
Come to think of it, I've only seen this problem since upgrading the
cygwin package. Previously, I was able to at least _start_ clisp.
> 2. ldd reports wow64, cygcheck only 32bit dlls.
That's expected. Cygcheck walks the import table, while ldd runs the
program as a debugee prints the DLLs it actually loads. When running
on a wow64 system, Windows transparently converts references to 32-bit
DLLs to their wow64 equivalents.
> You could try ldd the base/lisp.exe not the full. full has much
> more dll deps
$ ldd /usr/lib/clisp-2.48/base/lisp.exe
ntdll.dll =3D> /Windows/SysWOW64/ntdll.dll (0x7de70000)
kernel32.dll =3D> /Windows/syswow64/kernel32.dll (0x7dd60000)
KERNELBASE.dll =3D> /Windows/syswow64/KERNELBASE.dll (0x7d850000)
cyggcc_s-1.dll =3D> /usr/bin/cyggcc_s-1.dll (0xc5ab0000)
cygwin1.dll =3D> /usr/bin/cygwin1.dll (0x61000000)
cygcrypt-0.dll =3D> /usr/bin/cygcrypt-0.dll (0xc6400000)
cygiconv-2.dll =3D> /usr/bin/cygiconv-2.dll (0xc4110000)
cygintl-8.dll =3D> /usr/bin/cygintl-8.dll (0xc40b0000)
cygncurses-9.dll =3D> /usr/bin/cygncurses-9.dll (0xc39e0000)
cygreadline7.dll =3D> /usr/bin/cygreadline7.dll (0xc2f10000)
cygncursesw-10.dll =3D> /usr/bin/cygncursesw-10.dll (0xc3990000)
USER32.dll =3D> /Windows/syswow64/USER32.dll (0x7dc50000)
GDI32.dll =3D> /Windows/syswow64/GDI32.dll (0x7dab0000)
LPK.dll =3D> /Windows/syswow64/LPK.dll (0x7d620000)
USP10.dll =3D> /Windows/syswow64/USP10.dll (0x6f8e0000)
msvcrt.dll =3D> /Windows/syswow64/msvcrt.dll (0x6ff50000)
ADVAPI32.dll =3D> /Windows/syswow64/ADVAPI32.dll (0x77c60000)
sechost.dll =3D> /Windows/SysWOW64/sechost.dll (0x2b20000)
RPCRT4.dll =3D> /Windows/syswow64/RPCRT4.dll (0x7db50000)
SspiCli.dll =3D> /Windows/syswow64/SspiCli.dll (0x7d8a0000)
CRYPTBASE.dll =3D> /Windows/syswow64/CRYPTBASE.dll (0x10000000)
cygsigsegv-2.dll =3D> /usr/bin/cygsigsegv-2.dll (0xc2e40000)
OLE32.dll =3D> /Windows/syswow64/OLE32.dll (0x72540000)
OLEAUT32.DLL =3D> /Windows/syswow64/OLEAUT32.DLL (0x6fc30000)
??? =3D> ??? (0x280000)
IMM32.DLL =3D> /Windows/system32/IMM32.DLL (0x7d910000)
MSCTF.dll =3D> /Windows/syswow64/MSCTF.dll (0x70990000)
Also,
$ clisp -k
clisp: invalid command-line option (-k), try `clisp --help'
> 3. I do not have all those .net dlls in my process. Maybe we need a
manifest?
What .NET DLLs? Do you mean the APIset stuff? That's new in Windows 7
/ 2K8R2.
--------------enigC9756C8AAB39780C62EFC81A
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: GPGTools - http://gpgtools.org
iEYEARECAAYFAk/7TIQACgkQ17c2LVA10VtZ1ACg1jOwnoRThgNY+yIILilB0+A7
mGYAoJteuyBS0Pdz3P1wGTlseBTAIPFB
=sK0Q
-----END PGP SIGNATURE-----
--------------enigC9756C8AAB39780C62EFC81A--
- Raw text -