* Re: [Cygwin-ports-general] Ncview [not found] <CAKmU=T_XtcOf1MOa_31oTfNYzUZ6QZD1xU9eTG-ERkvsua+gZQ@mail.gmail.com> @ 2015-09-28 15:33 ` Marco Atzeri 2015-10-01 17:35 ` Yaakov Selkowitz 0 siblings, 1 reply; 6+ messages in thread From: Marco Atzeri @ 2015-09-28 15:33 UTC (permalink / raw) To: cygwin-ports-general, cygwin, fithis2001 On 28/09/2015 16:07, Vasileios Anagnostopoulos wrote: > Hi, > > is it possible to include ncview > (http://meteora.ucsd.edu/~pierce/ncview_home_page.html) in the software > distribution? Hi Vasileios, 1) wrong mailing lists, the right one is cygwin (at) cygwin (dot) com please follow up there. > > For me the installation was only a ./configure && make && make install 2) the 64 bit crashes inside X libs. I never succeeded to identify the root cause > > thank you very much. > > -- > Dr. Vasileios Anagnostopoulos (MSc,PhD) Regards MArco -- 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Cygwin-ports-general] Ncview 2015-09-28 15:33 ` [Cygwin-ports-general] Ncview Marco Atzeri @ 2015-10-01 17:35 ` Yaakov Selkowitz 2015-10-01 21:35 ` Marco Atzeri 2015-10-01 22:11 ` Michael Enright 0 siblings, 2 replies; 6+ messages in thread From: Yaakov Selkowitz @ 2015-10-01 17:35 UTC (permalink / raw) To: cygwin On Mon, 2015-09-28 at 17:33 +0200, Marco Atzeri wrote: > On 28/09/2015 16:07, Vasileios Anagnostopoulos wrote: > > is it possible to include ncview > > (http://meteora.ucsd.edu/~pierce/ncview_home_page.html) in the software > > distribution? > > 1) wrong mailing lists, the right one is cygwin (at) cygwin (dot) com > please follow up there. > > > > > For me the installation was only a ./configure && make && make install > > 2) the 64 bit crashes inside X libs. > I never succeeded to identify the root cause Confirmed. Often 64-bit-only issues come down to one or more of the following: * implicit function declarations. Per the C standard, argument types are assumed to match whatever is given (which may be wrong if e.g. 0 is used instead of 0L or (PointerType)0 or NULL etc.) and the return type is assumed to be int (which will truncate the actual return value when it is actually a long/pointer). * vararg types. Because these types aren't declared, the compiler can't automatically cast values to the correct type, so literal values and symbolic constants must be explicitly cast if they are not meant to be an int and are not obviously a long/pointer. In the case of ncview, I strongly suspect the latter should anyone be interested in fixing this. -- Yaakov -- 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Cygwin-ports-general] Ncview 2015-10-01 17:35 ` Yaakov Selkowitz @ 2015-10-01 21:35 ` Marco Atzeri 2015-10-02 8:58 ` Yaakov Selkowitz 2015-10-01 22:11 ` Michael Enright 1 sibling, 1 reply; 6+ messages in thread From: Marco Atzeri @ 2015-10-01 21:35 UTC (permalink / raw) To: cygwin On 01/10/2015 19:35, Yaakov Selkowitz wrote: > On Mon, 2015-09-28 at 17:33 +0200, Marco Atzeri wrote: >> On 28/09/2015 16:07, Vasileios Anagnostopoulos wrote: >> >> 2) the 64 bit crashes inside X libs. >> I never succeeded to identify the root cause > > Confirmed. Often 64-bit-only issues come down to one or more of the > following: > > * implicit function declarations. Per the C standard, argument types > are assumed to match whatever is given (which may be wrong if e.g. 0 is > used instead of 0L or (PointerType)0 or NULL etc.) and the return type > is assumed to be int (which will truncate the actual return value when > it is actually a long/pointer). This is not. The only two implicit declaration are of type int and declaring them changes noting. > > * vararg types. Because these types aren't declared, the compiler can't > automatically cast values to the correct type, so literal values and > symbolic constants must be explicitly cast if they are not meant to be > an int and are not obviously a long/pointer. I don't find any case. > In the case of ncview, I strongly suspect the latter should anyone be > interested in fixing this. The hard issue is that only cygwin 64 bit seems impacted, while other 64 platform are fine, and that the crash is well deep X libraries during the destruction phase of graphical elements #0 LayoutChild (w=w@entry=0x60065ef80) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:693 #1 0x00000003cabefc26 in LayoutChild (w=w@entry=0x60064e8a0) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:702 #2 0x00000003cabefc26 in LayoutChild (w=<optimized out>) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:702 #3 0x00000003cabf04ed in Layout (fw=0x60011a2e0, width=<optimized out>, height=<optimized out>, force_relayout=1) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:565 #4 0x00000003cabefb2b in XawFormChangeManaged (w=0x60011a2e0) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:1022 #5 0x00000003ca758f5c in XtUnmanageChildren (children=0x22c8d0, num_children=1) at /usr/src/debug/libXt-1.1.4-2/src/Manage.c:184 #6 0x00000003ca759038 in XtUnmanageChild (child=0x60065ef70, child@entry=0x60064e8a0) at /usr/src/debug/libXt-1.1.4-2/src/Manage.c:204 #7 0x00000003ca74b1db in XtPhase2Destroy (widget=0x60064e8a0) at /usr/src/debug/libXt-1.1.4-2/src/Destroy.c:228 #8 0x00000003ca74b4e8 in _XtDoPhase2Destroy (app=app@entry=0x60003c030, dispatch_level=dispatch_level@entry=1) at /usr/src/debug/libXt-1.1.4-2/src/Destroy.c:322 #9 0x00000003ca75018b in XtDispatchEvent (event=0x100632a80 <event>) at /usr/src/debug/libXt-1.1.4-2/src/Event.c:1432 #10 0x00000001004257af in x_process_user_input () at /usr/src/debug/ncview-2.1.5-1/src/interface/x_interface.c:2492 #11 0x000000010041f75a in in_process_user_input () at /usr/src/debug/ncview-2.1.5-1/src/interface/interface.c:149 #12 0x00000001004031e5 in process_user_input () at /usr/src/debug/ncview-2.1.5-1/src/ncview.c:718 #13 0x00000001004012f4 in main (argc=2, argv=0x22cb30) at /usr/src/debug/ncview-2.1.5-1/src/ncview.c:149 as the X graphics elements are not correctly destroyed in sequence. If someone more knowledgeable in X is interested I can provide the program and a test case. Regards Marco -- 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Cygwin-ports-general] Ncview 2015-10-01 21:35 ` Marco Atzeri @ 2015-10-02 8:58 ` Yaakov Selkowitz 2015-10-02 13:10 ` Marco Atzeri 0 siblings, 1 reply; 6+ messages in thread From: Yaakov Selkowitz @ 2015-10-02 8:58 UTC (permalink / raw) To: cygwin On Thu, 2015-10-01 at 23:35 +0200, Marco Atzeri wrote: > On 01/10/2015 19:35, Yaakov Selkowitz wrote: > > On Mon, 2015-09-28 at 17:33 +0200, Marco Atzeri wrote: > >> On 28/09/2015 16:07, Vasileios Anagnostopoulos wrote: > > >> > >> 2) the 64 bit crashes inside X libs. > >> I never succeeded to identify the root cause > > > > Confirmed. Often 64-bit-only issues come down to one or more of the > > following: > > > > * implicit function declarations. Per the C standard, argument types > > are assumed to match whatever is given (which may be wrong if e.g. 0 is > > used instead of 0L or (PointerType)0 or NULL etc.) and the return type > > is assumed to be int (which will truncate the actual return value when > > it is actually a long/pointer). > > This is not. The only two implicit declaration are of type int > and declaring them changes noting. > > > > > * vararg types. Because these types aren't declared, the compiler can't > > automatically cast values to the correct type, so literal values and > > symbolic constants must be explicitly cast if they are not meant to be > > an int and are not obviously a long/pointer. > > I don't find any case. The XtVa* functions use varargs. > > In the case of ncview, I strongly suspect the latter should anyone be > > interested in fixing this. > > The hard issue is that only cygwin 64 bit seems impacted, > while other 64 platform are fine, > and that the crash is well deep X libraries during the > destruction phase of graphical elements > as the X graphics elements are not correctly destroyed in sequence. > > If someone more knowledgeable in X is interested I can provide the > program and a test case. That would be great. -- Yaakov -- 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Cygwin-ports-general] Ncview 2015-10-02 8:58 ` Yaakov Selkowitz @ 2015-10-02 13:10 ` Marco Atzeri 0 siblings, 0 replies; 6+ messages in thread From: Marco Atzeri @ 2015-10-02 13:10 UTC (permalink / raw) To: cygwin On 02/10/2015 10:58, Yaakov Selkowitz wrote: > On Thu, 2015-10-01 at 23:35 +0200, Marco Atzeri wrote: >> >> I don't find any case. > > The XtVa* functions use varargs. > may be. >>> In the case of ncview, I strongly suspect the latter should anyone be >>> interested in fixing this. >> >> The hard issue is that only cygwin 64 bit seems impacted, >> while other 64 platform are fine, >> and that the crash is well deep X libraries during the >> destruction phase of graphical elements >> as the X graphics elements are not correctly destroyed in sequence. >> >> If someone more knowledgeable in X is interested I can provide the >> program and a test case. > > That would be great. > > -- > Yaakov > Hi Yaakov, the program compiled with -O0 is here http://matzeri.altervista.org/x86_64/ncview/ you can also install with setup-x86_64.exe -X -O -s http://matzeri.altervista.org It requires: libnetcdf7 libpng16 libudunits0 libX11_6 libXaw7 libXt6 On http://matzeri.altervista.org/works/ncview/ you can find a small test database (~2Mb) $ ncview s.nc to run it. I also loaded a picture of how to replicate the crash. Until only the first rows of "Var" is selected everything is fine, the data are presented in other windows, while with the second row it usually crashes at the 3rd selection. Regards Marco -- 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Cygwin-ports-general] Ncview 2015-10-01 17:35 ` Yaakov Selkowitz 2015-10-01 21:35 ` Marco Atzeri @ 2015-10-01 22:11 ` Michael Enright 1 sibling, 0 replies; 6+ messages in thread From: Michael Enright @ 2015-10-01 22:11 UTC (permalink / raw) To: cygwin On Thu, Oct 1, 2015 at 10:35 AM, Yaakov Selkowitz <yselkowitz@cygwin.com> wrote: > > Confirmed. Often 64-bit-only issues come down to one or more of the > following: > > * implicit function declarations. Per the C standard, argument types > are assumed to match whatever is given (which may be wrong if e.g. 0 is > used instead of 0L or (PointerType)0 or NULL etc.) and the return type > is assumed to be int (which will truncate the actual return value when > it is actually a long/pointer). > > * vararg types. Because these types aren't declared, the compiler can't > automatically cast values to the correct type, so literal values and > symbolic constants must be explicitly cast if they are not meant to be > an int and are not obviously a long/pointer. > Good list. I would also add attempting to store pointer differences in an "int" instead of ptrdiff_t and the issue you can see from https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models, which is that the integer types other than long long on 64-bit Windows are 32-bits while on 64-bit Linux 'long' and 'long long' are both 64-bit. This issue means that 'long' is a good-enough hack for ptrdiff_t on 64-bit Linux but not 64-bit Windows. Does Cygwin differ from Windows itself on this issue? Most 32-bit-designed code is probably more sensitive to the pointer-difference aspect of this. -- 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-10-02 13:10 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <CAKmU=T_XtcOf1MOa_31oTfNYzUZ6QZD1xU9eTG-ERkvsua+gZQ@mail.gmail.com> 2015-09-28 15:33 ` [Cygwin-ports-general] Ncview Marco Atzeri 2015-10-01 17:35 ` Yaakov Selkowitz 2015-10-01 21:35 ` Marco Atzeri 2015-10-02 8:58 ` Yaakov Selkowitz 2015-10-02 13:10 ` Marco Atzeri 2015-10-01 22:11 ` Michael Enright
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).