NetBSD Problem Report #44159

From bch@methodlogic.net  Sat Nov 27 03:04:31 2010
Return-Path: <bch@methodlogic.net>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 390ED63B95F
	for <gnats-bugs@gnats.NetBSD.org>; Sat, 27 Nov 2010 03:04:31 +0000 (UTC)
Message-Id: <20101127021939.GA6740@methodlogic.net>
Date: Sat, 27 Nov 2010 02:19:39 +0000
From: bch@methodlogic.net
Reply-To:
To: gnats-bugs@gnats.NetBSD.org
Subject: startx fails w/ recent xsrc changes in -current
X-Send-Pr-Version: 3.95

>Number:         44159
>Category:       toolchain
>Synopsis:       startx (xinit) fails - gcc and/or crt problems
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    toolchain-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Nov 27 03:05:00 +0000 2010
>Closed-Date:    Thu Sep 20 07:24:45 +0000 2012
>Last-Modified:  Thu Sep 20 07:24:45 +0000 2012
>Originator:     bch@methodlogic.net
>Release:        NetBSD 5.99.40
>Organization:
	Method Logic Digital (http://methodlogic.net/)
>Environment:
System: NetBSD kamloops 5.99.40 NetBSD 5.99.40 (kamloops) #88: Fri Nov 26 10:52:22 PST 2010 root@kamloops:/usr/obj/sys/arch/amd64/compile/kamloops amd64
Architecture: x86_64
Machine: amd64
>Description:
	startx fails to start X. eg:


xauth:  file /home/bch/.serverauth.389 does not exist
[long pause]
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
>How-To-Repeat:
	startx (though *may* work on subsequent attempts)
>Fix:
	retry and cross your fingers?

>Release-Note:

>Audit-Trail:
From: matthew green <mrg@eterna.com.au>
To: gnats-bugs@NetBSD.org
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org
Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Sat, 27 Nov 2010 21:31:15 +1100

 this one is likely a problem with the csu _init() calls in to libpixman
 leaving the $rsp unaligned for amd64.  the patch i have based on an idea
 from joerg is below.  you'll need to rebuild and install lib/csu and
 then rebuild and install libpixman itself to fix this problem.


 .mrg.


 Index: arch/x86_64/crtbegin.S
 ===================================================================
 RCS file: /cvsroot/src/lib/csu/arch/x86_64/crtbegin.S,v
 retrieving revision 1.1
 diff -p -r1.1 crtbegin.S
 *** arch/x86_64/crtbegin.S	7 Aug 2010 18:01:34 -0000	1.1
 --- arch/x86_64/crtbegin.S	27 Nov 2010 10:27:08 -0000
 *************** __do_global_dtors_aux:
 *** 94,99 ****
 --- 94,100 ----
   #endif

   	pushq	%rbx
 + 	pushq	%rbx
   	leaq	8+__DTOR_LIST__(%rip), %rbx
   3:
   	movq	(%rbx), %rax
 *************** __do_global_dtors_aux:
 *** 104,109 ****
 --- 105,111 ----
   	jmp	3b	
   4:
   	popq	%rbx
 + 	popq	%rbx

   	cmpq	$0, __deregister_frame_info@GOTPCREL(%rip)
   	je	5f
 *************** __do_global_ctors_aux:
 *** 137,142 ****
 --- 139,145 ----
   3:

   	pushq	%rbx
 + 	pushq	%rbx
   	leaq	-8+__CTOR_LIST_END__(%rip), %rbx
   4:
   	movq	(%rbx), %rax
 *************** __do_global_ctors_aux:
 *** 148,153 ****
 --- 151,157 ----

   5:
   	popq	%rbx
 + 	popq	%rbx

   	ret


From: bch@methodlogic.net
To: gnats-bugs@NetBSD.org
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Wed, 1 Dec 2010 04:39:29 +0000

 On Sat, Nov 27, 2010 at 10:35:01AM +0000, matthew green wrote:
 > The following reply was made to PR xsrc/44159; it has been noted by GNATS.
 > 
 > From: matthew green <mrg@eterna.com.au>
 > To: gnats-bugs@NetBSD.org
 > Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
 >     netbsd-bugs@netbsd.org
 > Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
 > Date: Sat, 27 Nov 2010 21:31:15 +1100
 > 
 >  this one is likely a problem with the csu _init() calls in to libpixman
 >  leaving the $rsp unaligned for amd64.  the patch i have based on an idea
 >  from joerg is below.  you'll need to rebuild and install lib/csu and
 >  then rebuild and install libpixman itself to fix this problem.


 The file below was updated to r1.2 with latest cvs update, but that
 only re-introduced the problem it was supposed to fix (or at least
 conincidentally, the problem is back).


 >  .mrg.
 >  
 >  
 >  Index: arch/x86_64/crtbegin.S
 >  ===================================================================
 >  RCS file: /cvsroot/src/lib/csu/arch/x86_64/crtbegin.S,v
 >  retrieving revision 1.1
 >  diff -p -r1.1 crtbegin.S
 >  *** arch/x86_64/crtbegin.S	7 Aug 2010 18:01:34 -0000	1.1
 >  --- arch/x86_64/crtbegin.S	27 Nov 2010 10:27:08 -0000
 >  *************** __do_global_dtors_aux:
 >  *** 94,99 ****
 >  --- 94,100 ----
 >    #endif
 >    
 >    	pushq	%rbx
 >  + 	pushq	%rbx
 >    	leaq	8+__DTOR_LIST__(%rip), %rbx
 >    3:
 >    	movq	(%rbx), %rax
 >  *************** __do_global_dtors_aux:
 >  *** 104,109 ****
 >  --- 105,111 ----
 >    	jmp	3b	
 >    4:
 >    	popq	%rbx
 >  + 	popq	%rbx
 >    
 >    	cmpq	$0, __deregister_frame_info@GOTPCREL(%rip)
 >    	je	5f
 >  *************** __do_global_ctors_aux:
 >  *** 137,142 ****
 >  --- 139,145 ----
 >    3:
 >    
 >    	pushq	%rbx
 >  + 	pushq	%rbx
 >    	leaq	-8+__CTOR_LIST_END__(%rip), %rbx
 >    4:
 >    	movq	(%rbx), %rax
 >  *************** __do_global_ctors_aux:
 >  *** 148,153 ****
 >  --- 151,157 ----
 >    
 >    5:
 >    	popq	%rbx
 >  + 	popq	%rbx
 >    
 >    	ret
 >    
 >  

 -- 
 Brad Harder
 Method Logic Digital Consulting
 http://methodlogic.net
 http://twitter.com/bcharder

From: matthew green <mrg@eterna.com.au>
To: bch@methodlogic.net
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, gnats-bugs@NetBSD.org
Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Wed, 01 Dec 2010 19:51:40 +1100

 this seems to be a GCC codegen problem.

 the function _pixman_implementation_create_sse2() generates code
 that, given a correctly aligned stack upon entry, will call SSE2
 insns expecting 16 byte alignment, with an 8 byte aligned value
 in %rbp.

 i think the right solution for now is to simply disable the SSE2
 support on amd64 until we have a fixed compiler.


 .mrg.

From: matthew green <mrg@eterna.com.au>
To: bch@methodlogic.net
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, gnats-bugs@NetBSD.org
Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Wed, 01 Dec 2010 20:09:08 +1100

 FWIW, when using a newer GCC (gcc version 4.6.0 20101010 (experimental))
 the code appears to be properly generated.

 i have disabled SSE2 support for amd64 for now.


 .mrg.

From: bch@methodlogic.net
To: gnats-bugs@NetBSD.org
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Wed, 1 Dec 2010 16:17:24 +0000

 On Wed, Dec 01, 2010 at 09:10:07AM +0000, matthew green wrote:
 > The following reply was made to PR xsrc/44159; it has been noted by GNATS.
 > 
 > From: matthew green <mrg@eterna.com.au>
 > To: bch@methodlogic.net
 > Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
 >     netbsd-bugs@netbsd.org, gnats-bugs@NetBSD.org
 > Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
 > Date: Wed, 01 Dec 2010 20:09:08 +1100


 Much better. X starts, and Firefox doesn't segfault immediately.

 Thanks Matthew!

 -bch

 >  FWIW, when using a newer GCC (gcc version 4.6.0 20101010 (experimental))
 >  the code appears to be properly generated.
 >  
 >  i have disabled SSE2 support for amd64 for now.
 >  
 >  
 >  .mrg.
 >  

 -- 
 Brad Harder
 Method Logic Digital Consulting
 http://methodlogic.net
 http://twitter.com/bcharder

Responsible-Changed-From-To: xsrc-manager->toolchain-manager
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Thu, 02 Dec 2010 08:48:49 +0000
Responsible-Changed-Why:
Since this is a toolchain problem with the pixman source, move
to toolchain category.


State-Changed-From-To: open->analyzed
State-Changed-By: wiz@NetBSD.org
State-Changed-When: Thu, 02 Dec 2010 08:48:49 +0000
State-Changed-Why:
Problem is understood, now we need a fix.


From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@netbsd.org
Cc: mrg@whooppee.com
Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Fri, 10 Dec 2010 06:10:56 -0800 (PST)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.

 --0-1660703165-1291990256=:21757
 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

 The changes to disable sse2 on port-amd64 now prevent the amd64 port 
 from completing a 'build.sh release'.  Building Xnest gets

 /build/netbsd-local/dest/amd64/usr/X11R7/lib/libpixman-1.so: undefined reference to `_pixman_implementation_create_sse2'

 Please see attachment for the complete link command.


 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------
 --0-1660703165-1291990256=:21757
 Content-Type: APPLICATION/octet-stream; name=release.amd64.log
 Content-Transfer-Encoding: BASE64
 Content-ID: <Pine.NEB.4.64.1012100610560.21757@quicky.whooppee.com>
 Content-Description: 
 Content-Disposition: attachment; filename=release.amd64.log

 IyAgICAgIGxpbmsgIHhuZXN0L1huZXN0Ci9idWlsZC9uZXRic2QtbG9jYWwv
 dG9vbHMveDg2XzY0L2FtZDY0L2Jpbi94ODZfNjQtLW5ldGJzZC1nY2MgIC1C
 L2J1aWxkL25ldGJzZC1sb2NhbC9kZXN0L2FtZDY0L3Vzci9saWIvIC1CL2J1
 aWxkL25ldGJzZC1sb2NhbC9kZXN0L2FtZDY0L3Vzci9saWIvICAtV2wsLW5v
 c3RkbGliICAgLVdsLC0tZXhwb3J0LWR5bmFtaWMgLVdsLC1ycGF0aC1saW5r
 LC9idWlsZC9uZXRic2QtbG9jYWwvZGVzdC9hbWQ2NC91c3IvWDExUjcvbGli
 ICAtV2wsLXJwYXRoLC91c3IvWDExUjcvbGliICAtTC9idWlsZC9uZXRic2Qt
 bG9jYWwvZGVzdC9hbWQ2NC91c3IvWDExUjcvbGliICAgICAtbyBYbmVzdCAg
 QXJncy5vIENvbG9yLm8gQ3Vyc29yLm8gRGlzcGxheS5vIEV2ZW50cy5vIEZv
 bnQubyBHQy5vIEdDT3BzLm8gSGFuZGxlcnMubyBJbml0Lm8gS2V5Ym9hcmQu
 byBQaXhtYXAubyBQb2ludGVyLm8gU2NyZWVuLm8gVmlzdWFsLm8gV2luZG93
 Lm8gZHBtc3N0dWJzLm8gc3R1YnMubyBtaWluaXRleHQubyBmYmNtYXBfbWku
 byAtbG0gL2J1aWxkL25ldGJzZC1sb2NhbC9vYmovYW1kNjQvZXh0ZXJuYWwv
 bWl0L3hvcmcvc2VydmVyL3hvcmctc2VydmVyL2RpeC9saWJkaXguYSAgL2J1
 aWxkL25ldGJzZC1sb2NhbC9vYmovYW1kNjQvZXh0ZXJuYWwvbWl0L3hvcmcv
 c2VydmVyL3hvcmctc2VydmVyL2ZiL2xpYmZiLmEgIC9idWlsZC9uZXRic2Qt
 bG9jYWwvb2JqL2FtZDY0L2V4dGVybmFsL21pdC94b3JnL3NlcnZlci94b3Jn
 LXNlcnZlci9taS9saWJtaS5hICAvYnVpbGQvbmV0YnNkLWxvY2FsL29iai9h
 bWQ2NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9yZy1zZXJ2ZXIvY29u
 ZmlnL2xpYmNvbmZpZy5hICAvYnVpbGQvbmV0YnNkLWxvY2FsL29iai9hbWQ2
 NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9yZy1zZXJ2ZXIveGZpeGVz
 L2xpYnhmaXhlcy5hICAvYnVpbGQvbmV0YnNkLWxvY2FsL29iai9hbWQ2NC9l
 eHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9yZy1zZXJ2ZXIvWGV4dC9saWJY
 ZXh0LmEgIC9idWlsZC9uZXRic2QtbG9jYWwvb2JqL2FtZDY0L2V4dGVybmFs
 L21pdC94b3JnL3NlcnZlci94b3JnLXNlcnZlci9kYmUvbGliZGJlLmEgIC9i
 dWlsZC9uZXRic2QtbG9jYWwvb2JqL2FtZDY0L2V4dGVybmFsL21pdC94b3Jn
 L3NlcnZlci94b3JnLXNlcnZlci9yZWNvcmQvbGlicmVjb3JkLmEgIC9idWls
 ZC9uZXRic2QtbG9jYWwvb2JqL2FtZDY0L2V4dGVybmFsL21pdC94b3JnL3Nl
 cnZlci94b3JnLXNlcnZlci9yYW5kci9saWJyYW5kci5hICAvYnVpbGQvbmV0
 YnNkLWxvY2FsL29iai9hbWQ2NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIv
 eG9yZy1zZXJ2ZXIvcmVuZGVyL2xpYnJlbmRlci5hICAvYnVpbGQvbmV0YnNk
 LWxvY2FsL29iai9hbWQ2NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9y
 Zy1zZXJ2ZXIvZGFtYWdlZXh0L2xpYmRhbWFnZWV4dC5hICAvYnVpbGQvbmV0
 YnNkLWxvY2FsL29iai9hbWQ2NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIv
 eG9yZy1zZXJ2ZXIvbWlleHQvZGFtYWdlL2xpYmRhbWFnZS5hICAgIC9idWls
 ZC9uZXRic2QtbG9jYWwvb2JqL2FtZDY0L2V4dGVybmFsL21pdC94b3JnL3Nl
 cnZlci94b3JnLXNlcnZlci9taWV4dC9zaGFkb3cvbGlic2hhZG93LmEgIC9i
 dWlsZC9uZXRic2QtbG9jYWwvb2JqL2FtZDY0L2V4dGVybmFsL21pdC94b3Jn
 L3NlcnZlci94b3JnLXNlcnZlci9YaS9saWJYaS5hICAvYnVpbGQvbmV0YnNk
 LWxvY2FsL29iai9hbWQ2NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9y
 Zy1zZXJ2ZXIveGtiL2xpYnhrYi5hICAvYnVpbGQvbmV0YnNkLWxvY2FsL29i
 ai9hbWQ2NC9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9yZy1zZXJ2ZXIv
 eGtic3R1YnMvbGlieGtic3R1YnMuYSAgL2J1aWxkL25ldGJzZC1sb2NhbC9v
 YmovYW1kNjQvZXh0ZXJuYWwvbWl0L3hvcmcvc2VydmVyL3hvcmctc2VydmVy
 L2NvbXBvc2l0ZS9saWJjb21wb3NpdGUuYSAgL2J1aWxkL25ldGJzZC1sb2Nh
 bC9vYmovYW1kNjQvZXh0ZXJuYWwvbWl0L3hvcmcvc2VydmVyL3hvcmctc2Vy
 dmVyL29zL2xpYm9zLmEgIC9idWlsZC9uZXRic2QtbG9jYWwvb2JqL2FtZDY0
 L2V4dGVybmFsL21pdC94b3JnL3NlcnZlci94b3JnLXNlcnZlci9nbHgvbGli
 Z2x4LmEgIC1sWGZvbnQgLWxYZXh0IC1sZm9udGVuYyAgLWxwaXhtYW4tMSAt
 bFgxMSAtbFhhdSAgLWxYZG1jcCAtbGZyZWV0eXBlIC1sbSAtbGNyeXB0byAt
 bHg4Nl82NCAgICAgIC1ML2J1aWxkL25ldGJzZC1sb2NhbC9kZXN0L2FtZDY0
 L3Vzci9saWIgICAtV2wsLXJwYXRoLWxpbmssL2J1aWxkL25ldGJzZC1sb2Nh
 bC9kZXN0L2FtZDY0L2xpYiAgLUwvYnVpbGQvbmV0YnNkLWxvY2FsL2Rlc3Qv
 YW1kNjQvbGliIC1XbCwtcnBhdGgtbGluaywvYnVpbGQvbmV0YnNkLWxvY2Fs
 L2Rlc3QvYW1kNjQvdXNyL2xpYiAgLUwvYnVpbGQvbmV0YnNkLWxvY2FsL2Rl
 c3QvYW1kNjQvdXNyL2xpYgovYnVpbGQvbmV0YnNkLWxvY2FsL2Rlc3QvYW1k
 NjQvdXNyL1gxMVI3L2xpYi9saWJwaXhtYW4tMS5zbzogdW5kZWZpbmVkIHJl
 ZmVyZW5jZSB0byBgX3BpeG1hbl9pbXBsZW1lbnRhdGlvbl9jcmVhdGVfc3Nl
 MicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKioqIFtY
 bmVzdF0gRXJyb3IgY29kZSAxCm5ibWFrZTogc3RvcHBlZCBpbiAvYnVpbGQv
 bmV0YnNkLWxvY2FsL3NyYy9leHRlcm5hbC9taXQveG9yZy9zZXJ2ZXIveG9y
 Zy1zZXJ2ZXIvaHcveG5lc3QKMSBlcnJvcgpuYm1ha2U6IHN0b3BwZWQgaW4g
 L2J1aWxkL25ldGJzZC1sb2NhbC9zcmMvZXh0ZXJuYWwvbWl0L3hvcmcvc2Vy
 dmVyL3hvcmctc2VydmVyL2h3L3huZXN0Cg==

 --0-1660703165-1291990256=:21757--

From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: re: xsrc/44159: startx fails w/ recent xsrc changes in -current
Date: Fri, 10 Dec 2010 06:12:26 -0800 (PST)

 On Fri, 10 Dec 2010, Paul Goyette wrote:

 > The changes to disable sse2 on port-amd64 now prevent the amd64 port from 
 > completing a 'build.sh release'.  Building Xnest gets
 >
 > /build/netbsd-local/dest/amd64/usr/X11R7/lib/libpixman-1.so: undefined 
 > reference to `_pixman_implementation_create_sse2'
 >
 > Please see attachment for the complete link command.

 I may have spoken too soon - it is possible that my xsrc tree is not 
 current.



 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------

State-Changed-From-To: analyzed->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sat, 31 Dec 2011 20:51:14 +0000
State-Changed-Why:
We have a new compiler now. Is this problem fixed? There have been reports
that it is not.


State-Changed-From-To: feedback->closed
State-Changed-By: mrg@NetBSD.org
State-Changed-When: Thu, 20 Sep 2012 07:24:45 +0000
State-Changed-Why:
pretty sure this is now fixed.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.