This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: run.exe fails to start XWin on Windows 8.1 through the shortcut
- From: Jon TURNEY <jon dot turney at dronecode dot org dot uk>
- To: Jaakov Jaakov <j_k_v at ro dot ru>, cygwin at cygwin dot com
- Cc: Stromeko at nexgo dot de
- Date: Wed, 12 Aug 2015 15:30:31 +0100
- Subject: Re: run.exe fails to start XWin on Windows 8.1 through the shortcut
- Authentication-results: sourceware.org; auth=none
- References: <1439383412 dot 552964 dot 1315 dot 31567 at mail dot rambler dot ru>
On 12/08/2015 13:43, Jaakov Jaakov wrote:
XWin fails to start again (previously reported half a year ago or so).
Thanks for following up on this.
The command issued by a shortcut is
C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd;
/usr/bin/startxwin"
Upon starting the shortcut, there is some disc acitivty, but no window
opens, and no XWin processes show up (according to the later-called Task
Manager).
No files in the directory /var/log/xwin are updated.
The file C:\cygwin64\run.exe.stackdump is generated, containing
Stack trace:
[...]
mumble mumble abracadabra!
0x000000018007256a signal_exit exceptions.cc:1358
0x0000000180073d33 _cygtls::call_signal_handler() exceptions.cc:1828
0x000000018012dfef sig_send(_pinfo*, siginfo_t&, _cygtls*) sigproc.cc:714
0x000000018012ad90 _pinfo::kill(siginfo_t&) signal.cc:252
0x000000018012b259 kill0 signal.cc:303
0x000000018012b42c raise signal.cc:289
0x000000018012b6ef abort signal.cc:376
0x00000001801612da dlfree malloc.cc:4717
0x00000001800cd933 free sync.h:36
0x0000000180126d5b ?? sigfe.s:43
0x00000001004011cc file_exists_multi run.c:877
0x0000000100404da8 main run.c:300
0x0000000180048410 dll_crt0_1(void*) dcrt0.cc:1047
0x00000001800460dc _cygtls::call2(unsigned int (*)(void*, void*), void*, void*) cygtls.cc:112
0x0000000180046174 _cygtls::call(unsigned int (*)(void*, void*), void*) cygtls.cc:30
0x00000001004036d1 cygwin_crt0 cygwin_crt0.c:22
Achim,
Not sure if this is the cause of this problem, but after a bit of
staring at file_exists_multi(), I notice that run2_fileExits() doesn't
initialize t when it returns FALSE, so perhaps the following is a good idea?
diff --git a/src/run.c b/src/run.c
index e88441b..0985571 100644
--- a/src/run.c
+++ b/src/run.c
@@ -880,7 +880,7 @@ file_exists_multi(char* fullname, const char* path,
fullname[0] = '\0';
for (i = 0; i < extcnt; i++)
{
- char* t;
+ char* t = NULL;
strcpy(tryName,name_noext);
strcat(tryName,exts[i]);
if ((run2_fileExists(&t, path, tryName) == TRUE) && t && *t)
--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer
--
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