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: run.exe fails to start XWin on Windows 8.1 through the shortcut


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


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