profile
viewpoint
David du Colombier 0intro @videolabs Paris, France http://9legacy.org/ Programmer

0intro/plan9 640

Plan 9 from Bell Labs

0intro/9hist 78

History of the Plan 9 kernel (1990 - 2003)

0intro/drawterm 53

Connect to Plan 9 CPU servers from other operating systems.

0intro/libtask 39

Libtask is a simple coroutine library

0intro/pcap 24

A native pcap library written in Go.

0intro/libelf 22

Libelf is a simple library to read ELF files

0intro/plan9-contrib 22

Plan 9 from Bell Labs, with contributions.

0intro/plan9-gpl 18

Plan 9 from Bell Labs, under GPL

0intro/libixp 16

Portable, simple C-language 9P client and server libary.

0intro/9-cc 14

Unix port of Plan 9 C compilers.

issue commentgolang/go

Go compiles really slowly even for a hello world program

@Zyxon123 asked me to provide the time measurements on Plan 9 for reference.

% go version
go version go1.13.6 plan9/386
% time go run hello.go
hello, world
0.04u 0.25s 0.77r 	 go run hello.go
Zyxon123

comment created time in 21 days

issue comment9fans/plan9port

acme: empty screen when starting in full screen on x11

@rsc Thanks. It works after your fix.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme: empty screen when starting in full screen on x11

@lego12239 Did you rebuild devdraw and acme after the last commit?

lego12239

comment created time in a month

issue comment9fans/plan9port

acme: empty screen when starting in full screen on x11

Same thing in tiled mode. Starting acme, then resizing the window makes it blank.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme: empty screen when starting in full screen on x11

OK. I can reproduce the last issue you mentioned. The windows becomes empty when starting acme in floating mode, then resizing the window.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

@lego12239 Please open a new issue, so it makes tracking issues easier.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

Thanks @rsc. It seems to work.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

I did this change as a workaround:

--- a/src/cmd/devdraw/srv.c
+++ b/src/cmd/devdraw/srv.c
@@ -397,6 +397,9 @@ matchmouse(Client *c)
 void
 gfx_mouseresized(Client *c)
 {
+	qlock(&c->eventlk);
+	c->mouse.resized = 1;
+	qunlock(&c->eventlk);
 	gfx_mousetrack(c, -1, -1, -1, -1);
 }
 

@rsc What is the correct way to implement this?

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

I think the issue is that c->mouse.resized = 1 is not set anymore when calling gfx_replacescreenimage.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

Before this change, the issue (that appeared a few days ago in the devdraw changes) was that you had to move the mouse after switching full screen so the window refreshes. But the fix doesn't seem to work properly.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

If you start acme in floating mode, it works, but it hangs when you switch full screen.

lego12239

comment created time in a month

issue comment9fans/plan9port

acme broken: empty screen, no controls, no windows

I've been experiencing the same issue. The problem was caused by this change: 1f799495e4aa89be5f32e3fcda8da342f3057f3c

lego12239

comment created time in a month

Pull request review comment9fans/plan9port

all: explicitly convert type to prevent signed overflow

 threadstart(uint y, uint x) 	ulong z;  //print("threadstart\n");-	z = (ulong)x << 16;	/* hide undefined 32-bit shift from 32-bit compilers */

ulong are always 4-byte on Plan 9, but are either 4-byte (on 32-bit platforms) or 8-byte (on 64-bit platforms) where plan9port runs (Unix). I think this code was added to handle these two cases.

nsajko

comment created time in 2 months

pull request comment9fans/plan9port

cmd/htmlroff: fix buffer overflow in t2.c getqarg

Applied. Thanks.

nsajko

comment created time in 2 months

push event9fans/plan9port

Neven Sajko

commit sha d9057521e665e1564e38b93ae1fafb53c81cb5d1

cmd/htmlroff: fix buffer overflow in t2.c getqarg This is actually from 2016: https://plan9port-review.googlesource.com/c/plan9/+/1590 Change-Id: I6f2a3d71a9dd589eff7ab15b3c1d3997254b3c35

view details

push time in 2 months

PR merged 9fans/plan9port

cmd/htmlroff: fix buffer overflow in t2.c getqarg

This is actually from 2016: https://plan9port-review.googlesource.com/c/plan9/+/1590

Change-Id: I6f2a3d71a9dd589eff7ab15b3c1d3997254b3c35

+1 -1

0 comment

1 changed file

nsajko

pr closed time in 2 months

pull request comment9fans/plan9port

ls: check that pointer is not nil before calling qsort

Applied. Thanks.

nsajko

comment created time in 2 months

push event9fans/plan9port

Neven Sajko

commit sha 8cd46ae7bc031f311c833ad32445f5cde1916f99

ls: check that pointer is not nil before calling qsort Passing a null pointer to qsort is an error in C (GCC and Clang agree with the standards there, so this is no joke). Change-Id: Ia2b015793a75ea4e85ae8f47da6beead9c4290e6

view details

push time in 2 months

PR merged 9fans/plan9port

ls: check that pointer is not nil before calling qsort

Passing a null pointer to qsort is an error in C (GCC and Clang agree with the standards there, so this is no joke).

Change-Id: Ia2b015793a75ea4e85ae8f47da6beead9c4290e6

+1 -1

0 comment

1 changed file

nsajko

pr closed time in 2 months

pull request comment9fans/plan9port

acme: do not pass null pointers where disallowed

Applied. Thanks.

nsajko

comment created time in 2 months

push event9fans/plan9port

Neven Sajko

commit sha d6f8c236b8c601781cef6f8521fd47dffa1758b4

acme: do not pass null pointers where disallowed The C standards disallow passing null pointers to memmove and memcmp. Change-Id: I1c88c2adbc32a23ef742f206038b8f7c4e0540c7

view details

push time in 2 months

PR merged 9fans/plan9port

acme: do not pass null pointers where disallowed

The C standards disallow passing null pointers to memmove and memcmp.

Change-Id: I1c88c2adbc32a23ef742f206038b8f7c4e0540c7

+4 -1

0 comment

2 changed files

nsajko

pr closed time in 2 months

pull request comment9fans/plan9port

cmd/rc: fix declarations of some externally linked variables

Applied. Thanks.

nsajko

comment created time in 2 months

push event9fans/plan9port

Neven Sajko

commit sha f77d12f8d8a822aae41b835c0cca050928c58221

cmd/rc: fix declarations of some externally linked variables Change-Id: If8fe1afecb9fe55f85e8e5af37521b83e787d718

view details

push time in 2 months

pull request comment9fans/plan9port

cb: fix a null pointer dereference

Applied. Thanks.

nsajko

comment created time in 2 months

push event9fans/plan9port

Neven Sajko

commit sha ab6f1aeac761178fb70863681eab9e681aa3f379

cb: fix a null pointer dereference Just added a pair of parentheses. I also ran cb on cb.c to beautify the code. This is actually on Gerrit from 2016: https://plan9port-review.googlesource.com/c/plan9/+/1574 Change-Id: I5e234adba0f95c13d6eecb121bf11bba4bf54566

view details

push time in 2 months

PR merged 9fans/plan9port

cb: fix a null pointer dereference

Just added a pair of parentheses. I also ran cb on cb.c to beautify the code.

This is actually on Gerrit from 2016: https://plan9port-review.googlesource.com/c/plan9/+/1574

Change-Id: I5e234adba0f95c13d6eecb121bf11bba4bf54566

+3 -3

0 comment

1 changed file

nsajko

pr closed time in 2 months

issue commentgolang/go

net: implement closeRead and closeWrite on Plan 9

This is interesting. I didn't remember this change. I'll try it and eventually merge it.

0intro

comment created time in 2 months

issue openedgolang/go

x/build/cmd/buildlet: removeAllIncludingReadonly doesn't remove read-only files on Plan 9

CL 177457 added the removeAllIncludingReadonly function to be able to remove the read-only files and directories created by go mod.

https://github.com/golang/build/blob/c7f36d0/cmd/buildlet/buildlet.go#L1813

On Plan 9, the function returns after calling os.RemoveAll. However, this doesn't work properly on Plan 9, since files cannot be deleted from read-only directories.

The directories should be make writeable before being able to deleted files.

@millerresearch

created time in 3 months

issue closedgolang/go

cmd/go: go mod creates files with incorrect read-only permissions

What version of Go are you using (go version)?

<pre> $ go version go version devel +498eaee461 Fri Nov 15 02:31:58 2019 +0000 linux/amd64 </pre>

Does this issue reproduce with the latest release?

No.

What operating system and processor architecture are you using (go env)?

<details><summary><code>go env</code> Output</summary><br><pre> $ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/djc/.cache/go-build" GOENV="/home/djc/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/djc/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build726010483=/tmp/go-build -gno-record-gcc-switches" </pre></details>

What did you do?

$ mkdir pkg
$ cd pkg
$ go mod init example.com/m
go: creating new go.mod: module example.com/m
$ echo -e 'package pkg\nimport "golang.org/x/image/bmp"' >pkg.go
$ go get ...
go: downloading golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8
go: finding versions for golang.org/x/image/bmp
go: found golang.org/x/image/bmp in golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8
go: downloading golang.org/x/text v0.3.0
go: downloading golang.org/x/tools v0.0.0-20191114222411-4191b8cbba09
go: found golang.org/x/tools/go/buildutil in golang.org/x/tools v0.0.0-20191114222411-4191b8cbba09
go: downloading golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: downloading golang.org/x/sync v0.0.0-20190423024810-112230192c58
go: downloading golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
go: downloading golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
go: golang.org/x/sync upgrade => v0.0.0-20190911185100-cd5d95a43a6e
go: golang.org/x/text upgrade => v0.3.2
go: golang.org/x/sys upgrade => v0.0.0-20191113165036-4c7a9d0fe056
go: golang.org/x/net upgrade => v0.0.0-20191112182307-2180aed22343
go: golang.org/x/crypto upgrade => v0.0.0-20191112222119-e1110fd1c708
go: golang.org/x/xerrors upgrade => v0.0.0-20191011141410-1b5146add898
go: downloading golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708
go: downloading golang.org/x/net v0.0.0-20191112182307-2180aed22343
go: downloading golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
go: downloading golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056
go: downloading golang.org/x/text v0.3.2
go: downloading golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
# example.com/m
./pkg.go:2:8: imported and not used: "golang.org/x/image/bmp"

The files created by go mod have incorrect 444 (read-only) permissions:

$ ls -l $GOPATH/pkg/mod/golang.org/x/image*
total 96
-r--r--r--. 1 djc djc  173 Nov 15 10:49 AUTHORS
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 bmp
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 ccitt
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 cmd
-r--r--r--. 1 djc djc   21 Nov 15 10:49 codereview.cfg
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 colornames
-r--r--r--. 1 djc djc  913 Nov 15 10:49 CONTRIBUTING.md
-r--r--r--. 1 djc djc  170 Nov 15 10:49 CONTRIBUTORS
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 draw
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 example
dr-xr-xr-x. 9 djc djc 4096 Nov 15 10:49 font
-r--r--r--. 1 djc djc   69 Nov 15 10:49 go.mod
-r--r--r--. 1 djc djc  153 Nov 15 10:49 go.sum
-r--r--r--. 1 djc djc 1479 Nov 15 10:49 LICENSE
dr-xr-xr-x. 5 djc djc 4096 Nov 15 10:49 math
-r--r--r--. 1 djc djc 1303 Nov 15 10:49 PATENTS
-r--r--r--. 1 djc djc  601 Nov 15 10:49 README.md
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 riff
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 testdata
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 tiff
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 vector
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 vp8
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 vp8l
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 webp

Consequently, these files cannot be deleted:

$ rm -rf $GOPATH/pkg/mod
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing.go': Permission denied
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing_test.go': Permission denied
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing_appengine.go': Permission denied
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/chacha20/chacha_s390x.s': Permission denied
[...]

With correct permissions, the files can be deleted successfully:

$ find $GOPATH/pkg/mod -exec chmod u+w {} \;
$ rm -rf $GOPATH/pkg/mod
$

What did you expect to see?

The files created by go mod should have correct read-write permissions, so they can be deleted by their owner.

What did you see instead?

The files created by go mod have incorrect read-only permissions, so they can't be deleted.

This may be releated to issue #34634.

closed time in 3 months

0intro

issue commentgolang/go

cmd/go: go mod creates files with incorrect read-only permissions

I'm closing this issue since it seems to be the expected behaviour.

0intro

comment created time in 3 months

issue commentgolang/go

cmd/go: go mod creates files with incorrect read-only permissions

Thanks. That's interesting. I'm experiencing side effects related with this behaviour. I'll investigate.

0intro

comment created time in 3 months

issue openedgolang/go

cmd/go: go mod creates files with incorrect read-only permissions

What version of Go are you using (go version)?

<pre> $ go version go version devel +498eaee461 Fri Nov 15 02:31:58 2019 +0000 linux/amd64 </pre>

Does this issue reproduce with the latest release?

No.

What operating system and processor architecture are you using (go env)?

<details><summary><code>go env</code> Output</summary><br><pre> $ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/djc/.cache/go-build" GOENV="/home/djc/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/djc/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build726010483=/tmp/go-build -gno-record-gcc-switches" </pre></details>

What did you do?

$ mkdir pkg
$ cd pkg
$ go mod init example.com/m
go: creating new go.mod: module example.com/m
$ echo -e 'package pkg\nimport "golang.org/x/image/bmp"' >pkg.go
$ go get ...
go: downloading golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8
go: finding versions for golang.org/x/image/bmp
go: found golang.org/x/image/bmp in golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8
go: downloading golang.org/x/text v0.3.0
go: downloading golang.org/x/tools v0.0.0-20191114222411-4191b8cbba09
go: found golang.org/x/tools/go/buildutil in golang.org/x/tools v0.0.0-20191114222411-4191b8cbba09
go: downloading golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: downloading golang.org/x/sync v0.0.0-20190423024810-112230192c58
go: downloading golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
go: downloading golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
go: golang.org/x/sync upgrade => v0.0.0-20190911185100-cd5d95a43a6e
go: golang.org/x/text upgrade => v0.3.2
go: golang.org/x/sys upgrade => v0.0.0-20191113165036-4c7a9d0fe056
go: golang.org/x/net upgrade => v0.0.0-20191112182307-2180aed22343
go: golang.org/x/crypto upgrade => v0.0.0-20191112222119-e1110fd1c708
go: golang.org/x/xerrors upgrade => v0.0.0-20191011141410-1b5146add898
go: downloading golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708
go: downloading golang.org/x/net v0.0.0-20191112182307-2180aed22343
go: downloading golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
go: downloading golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056
go: downloading golang.org/x/text v0.3.2
go: downloading golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
# example.com/m
./pkg.go:2:8: imported and not used: "golang.org/x/image/bmp"

The files created by go mod have incorrect 444 (read-only) permissions:

$ ls -l $GOPATH/pkg/mod/golang.org/x/image*
total 96
-r--r--r--. 1 djc djc  173 Nov 15 10:49 AUTHORS
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 bmp
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 ccitt
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 cmd
-r--r--r--. 1 djc djc   21 Nov 15 10:49 codereview.cfg
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 colornames
-r--r--r--. 1 djc djc  913 Nov 15 10:49 CONTRIBUTING.md
-r--r--r--. 1 djc djc  170 Nov 15 10:49 CONTRIBUTORS
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 draw
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 example
dr-xr-xr-x. 9 djc djc 4096 Nov 15 10:49 font
-r--r--r--. 1 djc djc   69 Nov 15 10:49 go.mod
-r--r--r--. 1 djc djc  153 Nov 15 10:49 go.sum
-r--r--r--. 1 djc djc 1479 Nov 15 10:49 LICENSE
dr-xr-xr-x. 5 djc djc 4096 Nov 15 10:49 math
-r--r--r--. 1 djc djc 1303 Nov 15 10:49 PATENTS
-r--r--r--. 1 djc djc  601 Nov 15 10:49 README.md
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 riff
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 testdata
dr-xr-xr-x. 3 djc djc 4096 Nov 15 10:49 tiff
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 vector
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 vp8
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 vp8l
dr-xr-xr-x. 2 djc djc 4096 Nov 15 10:49 webp

Consequently, these files cannot be deleted:

$ rm -rf $GOPATH/pkg/mod
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing.go': Permission denied
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing_test.go': Permission denied
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing_appengine.go': Permission denied
rm: cannot remove '/home/djc/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/chacha20/chacha_s390x.s': Permission denied
[...]

With correct permissions, the files can be deleted successfully:

$ find $GOPATH/pkg/mod -exec chmod u+w {} \;
$ rm -rf $GOPATH/pkg/mod
$

What did you expect to see?

The files created by go mod should have correct read-write permissions, so they can be deleted by their owner.

What did you see instead?

The files created by go mod have incorrect read-only permissions, so they can't be deleted.

This may be releated to issue #34634.

created time in 3 months

issue commentgolang/go

cmd/compile: plan9-amd64-9front builder failing in TestFma

@smasher164 Sorry, the builder is back online.

fhs

comment created time in 4 months

issue commentgolang/go

cmd/compile: plan9-amd64-9front builder failing in TestFma

I think you can send a CL with your initial idea.

fhs

comment created time in 4 months

issue openedgolang/go

cmd/go: TestScript/list_ambiguous_path failing on Plan 9

CL 198459 added TestScript/list_ambiguous_path. This test is failing on Plan 9 because the returned error doesn't match the expected no such file or directory error.

--- FAIL: TestScript (0.02s)
    --- FAIL: TestScript/list_ambiguous_path (0.59s)
        script_test.go:191: 
            # Ensures that we can correctly list package patterns ending in '.go'.
            # See golang.org/issue/34653.
            # A single pattern for a package ending in '.go'. (0.100s)
            # Multiple patterns for packages including one ending in '.go'. (0.105s)
            # A single pattern for a Go file. (0.177s)
            # A single typo-ed pattern for a Go file. This should
            # treat the wrong pattern as if it were a package. (0.094s)
            # Multiple patterns for Go files with a typo. This should
            # treat the wrong pattern as if it were a non-existint file. (0.089s)
            > ! go list ./foo.go/a.go ./foo.go/b.go
            [stderr]
            stat ./foo.go/b.go: './foo.go/b.go' does not exist
            [exit status: 'go 22795: 1']
            > [windows] stderr './foo.go/b.go: The system cannot find the file specified'
            > [!windows] stderr './foo.go/b.go: no such file or directory'
            FAIL: testdata/script/list_ambiguous_path.txt:26: no match for `(?m)./foo.go/b.go: no such file or directory` found in stderr
            
FAIL
FAIL	cmd/go	304.965s

created time in 4 months

issue commentgolang/go

runtime: plan9-386-0intro builder consistently failing in TestNetpollBreak with 'notetsleep not on g0'

The issue is related to the use of notetsleep andnotewakeup in netpoll_stub.go (used only on Plan 9).

bcmills

comment created time in 4 months

issue commentgolang/go

cmd/compile: plan9-amd64-9front builder failing in TestFma

I think it's better to keep the compiler configuration separate from the CPU feature detection. That's what we did for SSE.

fhs

comment created time in 4 months

issue commentgolang/go

cmd/compile: plan9-amd64-9front builder failing in TestFma

Look at how useSSE is done in src/cmd/compile/internal/ssa. Maybe we can add a useFMA configuration parameter.

fhs

comment created time in 4 months

issue commentgolang/go

cmd/compile: plan9-amd64-9front builder failing in TestFma

We usually disable SSE instructions on Plan 9 because FP aren't allowed in note handler. I think we should disable FMA on Plan 9.

fhs

comment created time in 4 months

issue commentgolang/go

runtime: parallel test failing on Plan 9

I've just noticed issue #35053.

0intro

comment created time in 4 months

issue openedgolang/go

runtime: parallel test failing on Plan 9

Since CL 171824, the parallel runtime test is failing on Plan 9.

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick
fatal error: notetsleep not on g0

goroutine 63718 [running]:
runtime.throw(0x1bff5c, 0x14)
	/tmp/workdir-gnot/go/src/runtime/panic.go:774 +0x63 fp=0x108cdfa4 sp=0x108cdf90 pc=0x2c393
runtime.notetsleep(0x32cb9c, 0x540be400, 0x2, 0x1cbc01)
	/tmp/workdir-gnot/go/src/runtime/lock_sema.go:272 +0x7e fp=0x108cdfc4 sp=0x108cdfa4 pc=0x9c4e
runtime.netpoll(0x540be400, 0x2, 0x1fdd6c)
	/tmp/workdir-gnot/go/src/runtime/netpoll_stub.go:31 +0x77 fp=0x108cdfd8 sp=0x108cdfc4 pc=0x28697
runtime_test.TestNetpollBreak.func1(0x10903900)
	/tmp/workdir-gnot/go/src/runtime/proc_test.go:1001 +0x43 fp=0x108cdfe8 sp=0x108cdfd8 pc=0x159fe3
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x108cdfec sp=0x108cdfe8 pc=0x566e1
created by runtime_test.TestNetpollBreak
	/tmp/workdir-gnot/go/src/runtime/proc_test.go:999 +0x87

goroutine 1 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109038f0, 0x170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10828d44 sp=0x10828d30 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x109038c0, 0x10828dcb, 0x10800001, 0xb53bc)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x10828d8c sp=0x10828d44 pc=0x4e66
runtime.chanrecv1(0x109038c0, 0x10828dcb)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x10828da0 sp=0x10828d8c pc=0x4bbc
testing.(*T).Run(0x10894be0, 0x1bdf14, 0x10, 0x1cc59c, 0x301)
	/tmp/workdir-gnot/go/src/testing/testing.go:961 +0x2cb fp=0x10828df4 sp=0x10828da0 pc=0xb53db
testing.runTests.func1(0x10895cc0)
	/tmp/workdir-gnot/go/src/testing/testing.go:1202 +0x59 fp=0x10828e18 sp=0x10828df4 pc=0xb8279
testing.tRunner(0x10895cc0, 0x10828eac)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x10828e64 sp=0x10828e18 pc=0xb50a9
testing.runTests(0x10816050, 0x31a1e0, 0xff, 0xff, 0x0)
	/tmp/workdir-gnot/go/src/testing/testing.go:1200 +0x22c fp=0x10828ec0 sp=0x10828e64 pc=0xb646c
testing.(*M).Run(0x1081a0c0, 0x0)
	/tmp/workdir-gnot/go/src/testing/testing.go:1117 +0x13a fp=0x10828f4c sp=0x10828ec0 pc=0xb571a
runtime_test.TestMain(0x1081a0c0)
	/tmp/workdir-gnot/go/src/runtime/crash_test.go:28 +0x20 fp=0x10828f70 sp=0x10828f4c pc=0x112380
main.main()
	_testmain.go:1024 +0xff fp=0x10828fa0 sp=0x10828f70 pc=0x16745f
runtime.main()
	/tmp/workdir-gnot/go/src/runtime/proc.go:203 +0x266 fp=0x10828ff0 sp=0x10828fa0 pc=0x2dee6
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10828ff4 sp=0x10828ff0 pc=0x566e1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x1cbcbc, 0x31b500, 0x15cf1411, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10829fd4 sp=0x10829fc0 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.forcegchelper()
	/tmp/workdir-gnot/go/src/runtime/proc.go:253 +0xb0 fp=0x10829ff0 sp=0x10829fd4 pc=0x2e160
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10829ff4 sp=0x10829ff0 pc=0x566e1
created by runtime.init.4
	/tmp/workdir-gnot/go/src/runtime/proc.go:242 +0x2a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1cbcbc, 0x31b7b0, 0x140c, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x1082afd4 sp=0x1082afc0 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.bgsweep(0x1084e000)
	/tmp/workdir-gnot/go/src/runtime/mgcsweep.go:89 +0x117 fp=0x1082afe8 sp=0x1082afd4 pc=0x207b7
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x1082afec sp=0x1082afe8 pc=0x566e1
created by runtime.gcenable
	/tmp/workdir-gnot/go/src/runtime/mgc.go:210 +0x4c

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x1cbcbc, 0x31b830, 0x140d, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x1082bf84 sp=0x1082bf70 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.bgscavenge(0x1084e000)
	/tmp/workdir-gnot/go/src/runtime/mgcscavenge.go:374 +0x43d fp=0x1082bfe8 sp=0x1082bf84 pc=0x2019d
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x1082bfec sp=0x1082bfe8 pc=0x566e1
created by runtime.gcenable
	/tmp/workdir-gnot/go/src/runtime/mgc.go:211 +0x6a

goroutine 5 [finalizer wait]:
runtime.gopark(0x1cbcbc, 0x32cb6c, 0x10a91410, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10824fa8 sp=0x10824f94 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.runfinq()
	/tmp/workdir-gnot/go/src/runtime/mfinal.go:175 +0x91 fp=0x10824ff0 sp=0x10824fa8 pc=0x15831
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10824ff4 sp=0x10824ff0 pc=0x566e1
created by runtime.createfing
	/tmp/workdir-gnot/go/src/runtime/mfinal.go:156 +0x3e

goroutine 6 [syscall]:
runtime.notetsleepg(0x31d5f4, 0x196fc132, 0x7f, 0x0)
	/tmp/workdir-gnot/go/src/runtime/lock_sema.go:286 +0x30 fp=0x10825f8c sp=0x10825f68 pc=0x9c90
runtime.timerproc(0x31d5e0)
	/tmp/workdir-gnot/go/src/runtime/time.go:306 +0x3f5 fp=0x10825fe8 sp=0x10825f8c pc=0x45cc5
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10825fec sp=0x10825fe8 pc=0x566e1
created by runtime.(*timersBucket).addtimerLocked
	/tmp/workdir-gnot/go/src/runtime/time.go:164 +0x117

goroutine 18 [timer goroutine (idle)]:
runtime.gopark(0x1cbcbc, 0x31d620, 0x1415, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x108a5f8c sp=0x108a5f78 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.timerproc(0x31d620)
	/tmp/workdir-gnot/go/src/runtime/time.go:298 +0x315 fp=0x108a5fe8 sp=0x108a5f8c pc=0x45be5
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x108a5fec sp=0x108a5fe8 pc=0x566e1
created by runtime.(*timersBucket).addtimerLocked
	/tmp/workdir-gnot/go/src/runtime/time.go:164 +0x117

goroutine 219 [GC worker (idle)]:
runtime.gopark(0x1cbc00, 0x10a96020, 0xffff1418, 0x0)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x108c8f8c sp=0x108c8f78 pc=0x2e2e8
runtime.gcBgMarkWorker(0x1081e000)
	/tmp/workdir-gnot/go/src/runtime/mgc.go:1855 +0xd6 fp=0x108c8fe8 sp=0x108c8f8c pc=0x19a06
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x108c8fec sp=0x108c8fe8 pc=0x566e1
created by runtime.gcBgMarkStartWorkers
	/tmp/workdir-gnot/go/src/runtime/mgc.go:1803 +0x60

goroutine 63654 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10a0eeb8 sp=0x10a0eea4 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x10a0ef00 sp=0x10a0eeb8 pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x10a0ef14 sp=0x10a0ef00 pc=0x4bbc
testing.(*T).Parallel(0x10894dc0)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x10a0ef80 sp=0x10a0ef14 pc=0xb4e72
runtime_test.TestMemmoveLarge0x180000(0x10894dc0)
	/tmp/workdir-gnot/go/src/runtime/memmove_test.go:102 +0x51 fp=0x10a0ef9c sp=0x10a0ef80 pc=0x133d01
testing.tRunner(0x10894dc0, 0x1cc57c)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x10a0efe8 sp=0x10a0ef9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10a0efec sp=0x10a0efe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 114 [timer goroutine (idle)]:
runtime.gopark(0x1cbcbc, 0x31d660, 0x1415, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10917f8c sp=0x10917f78 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.timerproc(0x31d660)
	/tmp/workdir-gnot/go/src/runtime/time.go:298 +0x315 fp=0x10917fe8 sp=0x10917f8c pc=0x45be5
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10917fec sp=0x10917fe8 pc=0x566e1
created by runtime.(*timersBucket).addtimerLocked
	/tmp/workdir-gnot/go/src/runtime/time.go:164 +0x117

goroutine 63661 [GC worker (idle)]:
runtime.gopark(0x1cbc00, 0x1081d428, 0xffff1418, 0x0)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10b60f8c sp=0x10b60f78 pc=0x2e2e8
runtime.gcBgMarkWorker(0x1081f300)
	/tmp/workdir-gnot/go/src/runtime/mgc.go:1855 +0xd6 fp=0x10b60fe8 sp=0x10b60f8c pc=0x19a06
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10b60fec sp=0x10b60fe8 pc=0x566e1
created by runtime.gcBgMarkStartWorkers
	/tmp/workdir-gnot/go/src/runtime/mgc.go:1803 +0x60

goroutine 63480 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10afbe8c sp=0x10afbe78 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x10afbed4 sp=0x10afbe8c pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x10afbee8 sp=0x10afbed4 pc=0x4bbc
testing.(*T).Parallel(0x10894000)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x10afbf54 sp=0x10afbee8 pc=0xb4e72
runtime_test.TestVDSO(0x10894000)
	/tmp/workdir-gnot/go/src/runtime/crash_test.go:147 +0x24 fp=0x10afbf9c sp=0x10afbf54 pc=0x1134a4
testing.tRunner(0x10894000, 0x1cc848)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x10afbfe8 sp=0x10afbf9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10afbfec sp=0x10afbfe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 63504 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x1091ce8c sp=0x1091ce78 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x1091ced4 sp=0x1091ce8c pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x1091cee8 sp=0x1091ced4 pc=0x4bbc
testing.(*T).Parallel(0x10894f00)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x1091cf54 sp=0x1091cee8 pc=0xb4e72
runtime_test.TestNetpollDeadlock(0x10894f00)
	/tmp/workdir-gnot/go/src/runtime/crash_test.go:438 +0x24 fp=0x1091cf9c sp=0x1091cf54 pc=0x115214
testing.tRunner(0x10894f00, 0x1cc5a0)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x1091cfe8 sp=0x1091cf9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x1091cfec sp=0x1091cfe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 22723 [timer goroutine (idle)]:
runtime.gopark(0x1cbcbc, 0x31d6a0, 0x1415, 0x1)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10a10f8c sp=0x10a10f78 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.timerproc(0x31d6a0)
	/tmp/workdir-gnot/go/src/runtime/time.go:298 +0x315 fp=0x10a10fe8 sp=0x10a10f8c pc=0x45be5
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10a10fec sp=0x10a10fe8 pc=0x566e1
created by runtime.(*timersBucket).addtimerLocked
	/tmp/workdir-gnot/go/src/runtime/time.go:164 +0x117

goroutine 63618 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x1089be70 sp=0x1089be5c pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x1089beb8 sp=0x1089be70 pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x1089becc sp=0x1089beb8 pc=0x4bbc
testing.(*T).Parallel(0x10894140)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x1089bf38 sp=0x1089becc pc=0xb4e72
runtime_test.testConcurrentReadsAfterGrowth(0x10894140, 0x306301)
	/tmp/workdir-gnot/go/src/runtime/map_test.go:315 +0x24 fp=0x1089bf90 sp=0x1089bf38 pc=0x12d6f4
runtime_test.TestConcurrentReadsAfterGrowthReflect(0x10894140)
	/tmp/workdir-gnot/go/src/runtime/map_test.go:365 +0x25 fp=0x1089bf9c sp=0x1089bf90 pc=0x12d9a5
testing.tRunner(0x10894140, 0x1cc368)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x1089bfe8 sp=0x1089bf9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x1089bfec sp=0x1089bfe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 63655 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x1091aeb8 sp=0x1091aea4 pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x1091af00 sp=0x1091aeb8 pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x1091af14 sp=0x1091af00 pc=0x4bbc
testing.(*T).Parallel(0x10894e60)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x1091af80 sp=0x1091af14 pc=0xb4e72
runtime_test.TestMemmoveOverlapLarge0x120000(0x10894e60)
	/tmp/workdir-gnot/go/src/runtime/memmove_test.go:114 +0x51 fp=0x1091af9c sp=0x1091af80 pc=0x133e21
testing.tRunner(0x10894e60, 0x1cc580)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x1091afe8 sp=0x1091af9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x1091afec sp=0x1091afe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 63617 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x109d3e70 sp=0x109d3e5c pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x109d3eb8 sp=0x109d3e70 pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x109d3ecc sp=0x109d3eb8 pc=0x4bbc
testing.(*T).Parallel(0x108940a0)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x109d3f38 sp=0x109d3ecc pc=0xb4e72
runtime_test.testConcurrentReadsAfterGrowth(0x108940a0, 0x306300)
	/tmp/workdir-gnot/go/src/runtime/map_test.go:315 +0x24 fp=0x109d3f90 sp=0x109d3f38 pc=0x12d6f4
runtime_test.TestConcurrentReadsAfterGrowth(0x108940a0)
	/tmp/workdir-gnot/go/src/runtime/map_test.go:361 +0x25 fp=0x109d3f9c sp=0x109d3f90 pc=0x12d975
testing.tRunner(0x108940a0, 0x1cc36c)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x109d3fe8 sp=0x109d3f9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x109d3fec sp=0x109d3fe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 63505 [chan receive]:
runtime.gopark(0x1cbcbc, 0x109640b0, 0x1081170e, 0x3)
	/tmp/workdir-gnot/go/src/runtime/proc.go:304 +0xd8 fp=0x10ae2e40 sp=0x10ae2e2c pc=0x2e2e8
runtime.goparkunlock(...)
	/tmp/workdir-gnot/go/src/runtime/proc.go:310
runtime.chanrecv(0x10964080, 0x0, 0xb4e01, 0x1)
	/tmp/workdir-gnot/go/src/runtime/chan.go:562 +0x276 fp=0x10ae2e88 sp=0x10ae2e40 pc=0x4e66
runtime.chanrecv1(0x10964080, 0x0)
	/tmp/workdir-gnot/go/src/runtime/chan.go:432 +0x1c fp=0x10ae2e9c sp=0x10ae2e88 pc=0x4bbc
testing.(*T).Parallel(0x10894fa0)
	/tmp/workdir-gnot/go/src/testing/testing.go:814 +0x192 fp=0x10ae2f08 sp=0x10ae2e9c pc=0xb4e72
runtime_test.TestPanicTraceback(0x10894fa0)
	/tmp/workdir-gnot/go/src/runtime/crash_test.go:447 +0x2e fp=0x10ae2f9c sp=0x10ae2f08 pc=0x1153ce
testing.tRunner(0x10894fa0, 0x1cc624)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x10ae2fe8 sp=0x10ae2f9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10ae2fec sp=0x10ae2fe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac

goroutine 63717 [runnable]:
runtime.netpollBreak()
	/tmp/workdir-gnot/go/src/runtime/netpoll_stub.go:17 +0x54 fp=0x10d94f5c sp=0x10d94f58 pc=0x28614
runtime_test.TestNetpollBreak(0x10894be0)
	/tmp/workdir-gnot/go/src/runtime/proc_test.go:1011 +0xb6 fp=0x10d94f9c sp=0x10d94f5c pc=0x13a5f6
testing.tRunner(0x10894be0, 0x1cc59c)
	/tmp/workdir-gnot/go/src/testing/testing.go:909 +0x99 fp=0x10d94fe8 sp=0x10d94f9c pc=0xb50a9
runtime.goexit()
	/tmp/workdir-gnot/go/src/runtime/asm_386.s:1337 +0x1 fp=0x10d94fec sp=0x10d94fe8 pc=0x566e1
created by testing.(*T).Run
	/tmp/workdir-gnot/go/src/testing/testing.go:960 +0x2ac
FAIL	runtime	54.183s
FAIL

See https://build.golang.org/log/b78b7f8c6c0a6c37c7f33e1e8e31a7f89c7fe0ac

@ianlancetaylor

created time in 4 months

issue openedgolang/go

cmd/go: doesn't preserve file permissions when modifying the go.mod and go.sum files

What version of Go are you using (go version)?

<pre> $ go version go version devel +af880809d8 Tue Oct 1 08:19:15 2019 +0000 linux/amd64 </pre>

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

<details><summary><code>go env</code> Output</summary><br><pre> $ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/djc/.cache/go-build" GOENV="/home/djc/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/djc/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build325934745=/tmp/go-build -gno-record-gcc-switches" </pre></details>

What did you do?

<pre> $ mkdir pkg $ cd pkg $ go mod init example.com/m go: creating new go.mod: module example.com/m $ echo -e 'package pkg\nimport "golang.org/x/image/bmp"' >pkg.go $ go get ... go: finding golang.org/x/image latest go: downloading golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a go: extracting golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a go: downloading golang.org/x/text v0.3.0 go: extracting golang.org/x/text v0.3.0 go: finding golang.org/x/tools latest go: downloading golang.org/x/tools v0.0.0-20191001123449-8b695b21ef34 go: extracting golang.org/x/tools v0.0.0-20191001123449-8b695b21ef34 go: downloading golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 go: extracting golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859 go: extracting golang.org/x/net v0.0.0-20190620200207-3b0461eec859 go: downloading golang.org/x/sync v0.0.0-20190423024810-112230192c58 go: extracting golang.org/x/sync v0.0.0-20190423024810-112230192c58 go: downloading golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a go: extracting golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a go: downloading golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 go: extracting golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 go: finding golang.org/x/sync latest go: finding golang.org/x/xerrors latest go: finding golang.org/x/text v0.3.2 go: finding golang.org/x/crypto latest go: finding golang.org/x/sys latest go: finding golang.org/x/net latest go: downloading golang.org/x/crypto v0.0.0-20191001103751-88343688bb37 go: extracting golang.org/x/crypto v0.0.0-20191001103751-88343688bb37 go: downloading golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3 go: extracting golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3 go: downloading golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e go: extracting golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e go: downloading golang.org/x/sys v0.0.0-20190927073244-c990c680b611 go: extracting golang.org/x/sys v0.0.0-20190927073244-c990c680b611 go: downloading golang.org/x/text v0.3.2 go: extracting golang.org/x/text v0.3.2

example.com/m

./pkg.go:2:8: imported and not used: "golang.org/x/image/bmp" $ id uid=1000(djc) gid=1000(djc) groups=1000(djc) $ ls -l total 12 -rw-rw-r--. 1 djc djc 467 Oct 1 16:16 go.mod -rw-rw-r--. 1 djc djc 2938 Oct 1 16:16 go.sum -rw-rw-r--. 1 djc djc 44 Oct 1 16:16 pkg.go $ chmod 777 go.mod go.sum $ ls -l total 12 -rwxrwxrwx. 1 djc djc 467 Oct 1 16:16 go.mod -rwxrwxrwx. 1 djc djc 2938 Oct 1 16:16 go.sum -rw-rw-r--. 1 djc djc 44 Oct 1 16:16 pkg.go $ su Password:

go mod tidy

go: downloading golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a go: extracting golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a

exit

exit $ ls -l total 12 -rw-r--r--. 1 root root 93 Oct 1 16:17 go.mod -rw-r--r--. 1 root root 364 Oct 1 16:17 go.sum -rw-rw-r--. 1 djc djc 44 Oct 1 16:16 pkg.go </pre>

What did you expect to see?

The go tool should preserves file permissions when modifying the go.mod and go.sum files.

What did you see instead?

The go tools overrides file permissions when modifying the go.mod and go.sum files.

This issue is that the WriteGoMod and WriteGoSum functions use renameio.WriteFile instead of ioutil.WriteFile.

Contrary to ioutil.WriteFile, renameio.WriteFile doesn't preserve permissions.

created time in 5 months

push event0intro/wmii

David du Colombier

commit sha d1acb57db2618bca5aab9839bc0b6cf0e4649419

fix warnings This change fixes the following warnings: lib/libstuff/x11/keys/parsekey.c:73:2: warning: ‘XKeycodeToKeysym’ is deprecated [-Wdeprecated-declarations] cmd/strut/ewmh.c:23:27: warning: ‘sizeof’ on array function parameter ‘struts’ will return size of ‘Rectangle *’ {aka ‘struct Rectangle *’} [-Wsizeof-array-argument] cmd/wmii/key.c:109:3: warning: ‘XKeycodeToKeysym’ is deprecated [-Wdeprecated-declarations] cmd/wmii/dat.h:108:7: warning: comparison of constant ‘2’ with boolean expression is always false [-Wbool-compare]

view details

push time in 5 months

issue commentgolang/go

cmd/go: go cmd performance degradation on Plan 9 between Go 1.9 and 1.11

CC @millerresearch

driusan

comment created time in 5 months

pull request comment9fans/plan9port

9l: support FreeBSD ≥ 12 (fixes issue #247)

@dancrossnyc You changed the PR title, but not the commit title. What I do in this case is to apply the change manually, amend the commit to edit the message, then push.

francisconti

comment created time in 5 months

more