From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24746 invoked by alias); 15 Nov 2014 23:30:52 -0000 Mailing-List: contact cygwin-xfree-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-xfree-owner@cygwin.com Reply-To: cygwin-xfree@cygwin.com Mail-Followup-To: cygwin-xfree@cygwin.com Received: (qmail 24735 invoked by uid 89); 15 Nov 2014 23:30:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f54.google.com Received: from mail-wg0-f54.google.com (HELO mail-wg0-f54.google.com) (74.125.82.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 15 Nov 2014 23:30:49 +0000 Received: by mail-wg0-f54.google.com with SMTP id y10so583058wgg.13 for ; Sat, 15 Nov 2014 15:30:46 -0800 (PST) X-Received: by 10.194.238.40 with SMTP id vh8mr14698443wjc.57.1416094246606; Sat, 15 Nov 2014 15:30:46 -0800 (PST) Received: from [192.168.2.108] (pD9E619C2.dip0.t-ipconnect.de. [217.230.25.194]) by mx.google.com with ESMTPSA id s8sm44960469wjx.9.2014.11.15.15.30.45 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 15 Nov 2014 15:30:45 -0800 (PST) Message-ID: <5467E20A.4000503@gmail.com> Date: Sat, 15 Nov 2014 23:30:00 -0000 From: Marco Atzeri User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "cygwin-xfree@cygwin.com" Subject: possible bug in libXt or libXaw Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-11/txt/msg00017.txt.bz2 testing ncview http://meteora.ucsd.edu/~pierce/ncview_home_page.html I found, only on 64 bit, a segfault due to incorrect widget (aka pointer) value. It could be a software bug, but it looks to me more a bug somewhere in the underlying libs #0 LayoutChild (w=w@entry=0x60014bd50) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:693 #1 0x00000003fa40fc26 in LayoutChild (w=w@entry=0x60014dd30) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:702 #2 0x00000003fa40fc26 in LayoutChild (w=) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:702 #3 0x00000003fa4104ed in Layout (fw=0x600112640, width=, height=, force_relayout=1) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:565 #4 0x00000003fa40fb2b in XawFormChangeManaged (w=0x600112640) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:1022 #5 0x00000003fa228f5c in XtUnmanageChildren (children=0x22a880, num_children=1) at /usr/src/debug/libXt-1.1.4-2/src/Manage.c:184 #6 0x00000003fa229038 in XtUnmanageChild (child=0x60014bd40, child@entry=0x60014dd30) at /usr/src/debug/libXt-1.1.4-2/src/Manage.c:204 #7 0x00000003fa21b1db in XtPhase2Destroy (widget=0x60014dd30) at /usr/src/debug/libXt-1.1.4-2/src/Destroy.c:228 #8 0x00000003fa21b4e8 in _XtDoPhase2Destroy (app=app@entry=0x60003cf50, dispatch_level=dispatch_level@entry=1) at /usr/src/debug/libXt-1.1.4-2/src/Destroy.c:322 #9 0x00000003fa22018b in XtDispatchEvent (event=0x100632940 ) at /usr/src/debug/libXt-1.1.4-2/src/Event.c:1432 #10 0x0000000100425526 in x_process_user_input () at /usr/src/debug/ncview-2.1.3-1/src/interface/x_interface.c:2492 #11 0x000000010041f52a in in_process_user_input () at /usr/src/debug/ncview-2.1.3-1/src/interface/interface.c:149 #12 0x0000000100403188 in process_user_input () at /usr/src/debug/ncview-2.1.3-1/src/ncview.c:715 #13 0x00000001004012e4 in main (argc=2, argv=0x22aae0) at /usr/src/debug/ncview-2.1.3-1/src/ncview.c:149 (gdb) frame 0 #0 LayoutChild (w=w@entry=0x60014bd50) at /usr/src/debug/libXaw-1.0.12-2/src/Form.c:693 693 FormConstraints ref_form = (FormConstraints)ref->core.constraints; (gdb) l 688 } 689 690 form->form.new_x = form->form.dx; 691 form->form.new_y = form->form.dy; 692 if ((ref = form->form.horiz_base) != NULL) { 693 FormConstraints ref_form = (FormConstraints)ref->core.constraints; 694 695 LayoutChild(ref); 696 form->form.new_x += ref_form->form.new_x + XtWidth(ref) + 697 (XtBorderWidth(ref) << 1); this is the pointer causing the segfault (gdb) p form->form.horiz_base $2 = (Widget) 0x6275705f6779632f while similar pointers have a much smaller address, (gdb) p w $5 = (Widget) 0x60014bd50 so it that an assignment not clearing the upper portion of the pointer. Unfortunately my knowledge of Xt and Xaw is very limited so if someone have any idea how to trace the bug origin, I will appreciate. Program and data available at: http://matzeri.altervista.org/x86_64/ncview/ http://matzeri.altervista.org/works/ncview/ to run the program ncview sresa1b_ncar_ccsm3_0_run1_200001.nc just changing the "Var" value 3 or 4 times trigger the segfault. Regards Marco -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/