Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime/trace: TestTraceSymbolize fails on go1.5beta3, linux/arm #11942

Closed
hectorj opened this issue Jul 30, 2015 · 7 comments
Closed

runtime/trace: TestTraceSymbolize fails on go1.5beta3, linux/arm #11942

hectorj opened this issue Jul 30, 2015 · 7 comments
Milestone

Comments

@hectorj
Copy link

hectorj commented Jul 30, 2015

Hi! Just tried to compile go1.5beta3 on a linux/arm env, and there is one test failing :

--- FAIL: TestTraceSymbolize (0.20s)
    trace_stack_test.go:170: did not match event GoUnblock at runtime.selectgo:0
    trace_stack_test.go:170: seen the following events of this type:
    trace_stack_test.go:170: ---
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   runtime.chansend1:92
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:109
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   runtime.chanrecv1:349
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:110
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   runtime.selectgo:212
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:170
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   sync.(*Mutex).Unlock:121
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:115
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   sync.(*WaitGroup).Add:89
    trace_stack_test.go:170:   sync.(*WaitGroup).Done:95
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:116
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   sync.(*Cond).Signal:71
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:117
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
    trace_stack_test.go:170: ---
    trace_stack_test.go:170: ---
    trace_stack_test.go:170:   runtime.chanrecv1:349
    trace_stack_test.go:170:   runtime/trace_test.TestTraceSymbolize:125
    trace_stack_test.go:170:   testing.tRunner:456
    trace_stack_test.go:170: ---
FAIL
FAIL    runtime/trace   18.732s

Here are more details :

  • go version devel +d3ffc97 Wed Jul 29 23:50:20 2015 +0000 linux/arm
  • OS : Ubuntu 14.04.1 LTS

Please tell me if more informations are needed.
I tried twice (once at go1.5beta3 and once at master's tip) and got the same error the two times so it seems I can reproduce at will.

@ianlancetaylor ianlancetaylor added this to the Go1.5 milestone Jul 30, 2015
@ianlancetaylor
Copy link
Contributor

CC @rsc @dvyukov

@dvyukov
Copy link
Member

dvyukov commented Jul 30, 2015

Please run the following commands and post output:

$ go test -c runtime/trace
$ objdump -dl trace.test | egrep -C 20 "trace_stack_test.go:(111|170)"

@dvyukov
Copy link
Member

dvyukov commented Jul 30, 2015

Don't bother, I can do it myself.

@hectorj
Copy link
Author

hectorj commented Jul 30, 2015

Already done, so posting just in case :

hectorj@hj-1:~$ go test -c runtime/trace
hectorj@hj-1:~$ objdump -dl trace.test | egrep -C 20 "trace_stack_test.go:(111|170)"
   945f8:   e58d000c    str r0, [sp, #12]
   945fc:   ebfdf9fa    bl  12dec <runtime.chansend1>
/home/hectorj/go/src/runtime/trace/trace_stack_test.go:110
   94600:   e59f0810    ldr r0, [pc, #2064] ; 94e18 <runtime/trace_test.TestTraceSymbolize+0xf08>
   94604:   e58d0004    str r0, [sp, #4]
   94608:   e59d008c    ldr r0, [sp, #140]  ; 0x8c
   9460c:   e58d0008    str r0, [sp, #8]
   94610:   e3a00000    mov r0, #0
   94614:   e58d000c    str r0, [sp, #12]
   94618:   ebfdfe0b    bl  13e4c <runtime.chanrecv1>
/home/hectorj/go/src/runtime/trace/trace_stack_test.go:112
   9461c:   e59d009c    ldr r0, [sp, #156]  ; 0x9c
   94620:   e58d00d0    str r0, [sp, #208]  ; 0xd0
   94624:   e3a00000    mov r0, #0
   94628:   e58d006c    str r0, [sp, #108]  ; 0x6c
/home/hectorj/go/src/runtime/trace/trace_stack_test.go:113
   9462c:   e59d0098    ldr r0, [sp, #152]  ; 0x98
   94630:   e58d00cc    str r0, [sp, #204]  ; 0xcc
   94634:   e3a00000    mov r0, #0
   94638:   e58d0068    str r0, [sp, #104]  ; 0x68
/home/hectorj/go/src/runtime/trace/trace_stack_test.go:111
   9463c:   e28d1fb6    add r1, sp, #728    ; 0x2d8
   94640:   e3a00000    mov r0, #0
   94644:   ebff6be3    bl  6f5d8 <runtime.duffzero+0x1b0>
   94648:   e28d0fb6    add r0, sp, #728    ; 0x2d8
   9464c:   e58d0004    str r0, [sp, #4]
   94650:   e3a00050    mov r0, #80 ; 0x50
   94654:   e3a01000    mov r1, #0
   94658:   e58d0008    str r0, [sp, #8]
   9465c:   e58d100c    str r1, [sp, #12]
   94660:   e3a00002    mov r0, #2
   94664:   e58d0010    str r0, [sp, #16]
   94668:   ebfee915    bl  4eac4 <runtime.newselect>
/home/hectorj/go/src/runtime/trace/trace_stack_test.go:112
   9466c:   e28d1fb6    add r1, sp, #728    ; 0x2d8
   94670:   e58d1004    str r1, [sp, #4]
   94674:   e59d10d0    ldr r1, [sp, #208]  ; 0xd0
   94678:   e58d1008    str r1, [sp, #8]
   9467c:   e28d106c    add r1, sp, #108    ; 0x6c
   94680:   e58d100c    str r1, [sp, #12]
   94684:   ebfee998    bl  4ecec <runtime.selectsend>
--
   94d58:   e5821010    str r1, [r2, #16]
   94d5c:   e59fb198    ldr fp, [pc, #408]  ; 94efc <runtime/trace_test.TestTraceSymbolize+0xfec>
   94d60:   e59b1000    ldr r1, [fp]
   94d64:   e5821014    str r1, [r2, #20]
   94d68:   e3a04002    mov r4, #2
   94d6c:   e3a03002    mov r3, #2
   94d70:   e28d0f5f    add r0, sp, #380    ; 0x17c
   94d74:   e5900000    ldr r0, [r0]
   94d78:   e2800040    add r0, r0, #64 ; 0x40
   94d7c:   e58d41d4    str r4, [sp, #468]  ; 0x1d4
   94d80:   e5804008    str r4, [r0, #8]
   94d84:   e58d31d8    str r3, [sp, #472]  ; 0x1d8
   94d88:   e580300c    str r3, [r0, #12]
   94d8c:   e1a01002    mov r1, r2
   94d90:   e58d21d0    str r2, [sp, #464]  ; 0x1d0
   94d94:   e59fb064    ldr fp, [pc, #100]  ; 94e00 <runtime/trace_test.TestTraceSymbolize+0xef0>
   94d98:   e5db2000    ldrb    r2, [fp]
   94d9c:   e3520000    cmp r2, #0
   94da0:   1a0005a9    bne 9644c <runtime/trace_test.TestTraceSymbolize+0x253c>
   94da4:   e5801004    str r1, [r0, #4]
/home/hectorj/go/src/runtime/trace/trace_stack_test.go:170
   94da8:   e59f00ec    ldr r0, [pc, #236]  ; 94e9c <runtime/trace_test.TestTraceSymbolize+0xf8c>
   94dac:   e58d0004    str r0, [sp, #4]
   94db0:   ebfe2b88    bl  1fbd8 <runtime.newobject>
   94db4:   e59d2008    ldr r2, [sp, #8]
   94db8:   e59fb140    ldr fp, [pc, #320]  ; 94f00 <runtime/trace_test.TestTraceSymbolize+0xff0>
   94dbc:   e59b1000    ldr r1, [fp]
   94dc0:   e5821000    str r1, [r2]
   94dc4:   e59fb138    ldr fp, [pc, #312]  ; 94f04 <runtime/trace_test.TestTraceSymbolize+0xff4>
   94dc8:   e59b1000    ldr r1, [fp]
   94dcc:   e5821004    str r1, [r2, #4]
   94dd0:   e59fb130    ldr fp, [pc, #304]  ; 94f08 <runtime/trace_test.TestTraceSymbolize+0xff8>
   94dd4:   e59b1000    ldr r1, [fp]
   94dd8:   e5821008    str r1, [r2, #8]
   94ddc:   e59fb128    ldr fp, [pc, #296]  ; 94f0c <runtime/trace_test.TestTraceSymbolize+0xffc>
   94de0:   e59b1000    ldr r1, [fp]
   94de4:   ea000049    b   94f10 <runtime/trace_test.TestTraceSymbolize+0x1000>
   94de8:   fffffba8            ; <UNDEFINED> instruction: 0xfffffba8
   94dec:   001cb718    andseq  fp, ip, r8, lsl r7
   94df0:   002ca900    eoreq   sl, ip, r0, lsl #18
   94df4:   001d8bb0            ; <UNDEFINED> instruction: 0x001d8bb0

@dvyukov
Copy link
Member

dvyukov commented Jul 30, 2015

This is a bug in debug info. Here is objdump of the test function:
https://gist.githubusercontent.com/dvyukov/1861626c9907fa8df4b1/raw/dc9592febdba07fb999c8eaca772b383b5de8ef0/gistfile1.txt
You can see there completely unrelated:

trace_stack_test.go:170

then lots of code, but no line annotations, and then a runtime.selectgo call.
On amd64 that call is annotated with trace_stack_test.go:111.

@rsc
Copy link
Contributor

rsc commented Jul 30, 2015

Fixed by a1e4220.

@rsc rsc closed this as completed Jul 30, 2015
@mikioh mikioh changed the title TestTraceSymbolize fails on go1.5beta3, linux/arm runtime/trace: TestTraceSymbolize fails on go1.5beta3, linux/arm Jul 31, 2015
@hectorj
Copy link
Author

hectorj commented Jul 31, 2015

Can confirm it is fixed, "ALL TESTS PASSED", thanks!

@golang golang locked and limited conversation to collaborators Aug 5, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants