FAQ
Hi, I found a memory problem with code.google.com/p/go.net/websocket.

The code is in attachment, it's an example taken from internet.

I open several browser tabs with the chat at http://localhost:8080/chat/
then I send big strings. The memory used increase a lot and the GC does not
release it.

This code have to run in a server without restarts for many months, with
about 1000 concurrent clients at peak and many messages per second, with
that problem it can't survive for a day...

Go is new for me and today I lost hours in order to find why it does not
release the memory.

Any idea?

--

Search Discussions

  • Dave Cheney at Nov 17, 2012 at 1:08 am
    Hi Davide,

    Thank you for including some sample code with this report.

    When reporting these types of problems it is critical to also include the following details:

    Which operating system, which processor architecture, which version of Go.

    If you suspect a memory leak, please also include some details about the leak, ie, how much memory is in use, and how did you determine this, etc.

    Cheers

    Dave
    On 17/11/2012, at 11:54, davide.muzzarelli@gmail.com wrote:

    Hi, I found a memory problem with code.google.com/p/go.net/websocket.

    The code is in attachment, it's an example taken from internet.

    I open several browser tabs with the chat at http://localhost:8080/chat/ then I send big strings. The memory used increase a lot and the GC does not release it.

    This code have to run in a server without restarts for many months, with about 1000 concurrent clients at peak and many messages per second, with that problem it can't survive for a day...

    Go is new for me and today I lost hours in order to find why it does not release the memory.

    Any idea?
    --


    <mediator.zip>
    --
  • Davide Muzzarelli at Nov 17, 2012 at 11:55 am
    Thanks Dave, yesterday I was very tired (2AM).

    Go 1.0.3 from source
    Linux 3.0.0-26-generic #43-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux 4 cores

    The memory increase when I send messages, and it's not released when the
    messages are delivered.
    The memory is still not released when I close a chat.
    With my little experience I see that the gorutines are closed correctly.
    I checked the channels with len() and I see that are correctly empty when a
    message is delivered.

    I see that the memory it's not released from top, if I send several MB of
    text I see a big increment in the memory used by the program and it soon
    fill up all the RAM and the swap.

    --
  • Dave Cheney at Nov 17, 2012 at 12:12 pm
    How much RSS/VSS are we talking about here ?

    Cheers

    Dave

    On Sat, Nov 17, 2012 at 10:55 PM, Davide Muzzarelli
    wrote:
    Thanks Dave, yesterday I was very tired (2AM).

    Go 1.0.3 from source
    Linux 3.0.0-26-generic #43-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux 4 cores

    The memory increase when I send messages, and it's not released when the
    messages are delivered.
    The memory is still not released when I close a chat.
    With my little experience I see that the gorutines are closed correctly.
    I checked the channels with len() and I see that are correctly empty when a
    message is delivered.

    I see that the memory it's not released from top, if I send several MB of
    text I see a big increment in the memory used by the program and it soon
    fill up all the RAM and the swap.

    --
    --
  • Davide Muzzarelli at Nov 17, 2012 at 2:15 pm

    On Saturday, November 17, 2012 1:13:02 PM UTC+1, Dave Cheney wrote:

    How much RSS/VSS are we talking about here ?
    This is the test.

    1. Launched the program:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 0.1 61576 57m 2896 3268 51m 2032 0 0 S 20 0 0 mediator

    2. Open 20 tabs of the latest version of Firefox:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 0.1 70988 65m 3636 3268 60m 2256 0 0 S 20 0 0 mediator

    3. Sent 1MB of text sent in broadcast via the JS chat:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 0.8 142m 116m 25m 3268 133m 2260 0 0 S 20 0 0 mediator

    4. Sent 1MB of text sent in broadcast via the JS chat:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 1.5 167m 120m 47m 3268 158m 2260 0 0 S 20 0 0 mediator

    5. Sent 1MB of text sent in broadcast via the JS chat:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 1.8 176m 120m 55m 3268 167m 2260 0 0 S 20 0 0 mediator

    6. Sent 1MB of text sent in broadcast via the JS chat:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 1.8 192m 136m 55m 3268 183m 2260 0 0 S 20 0 0 mediator

    7. Sent 1MB of text sent in broadcast via the JS chat:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 1.8 192m 135m 56m 3268 183m 2260 0 0 S 20 0 0 mediator

    8. Sent 1MB of text sent in broadcast via the JS chat:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    7284 1.8 193m 135m 57m 3268 184m 2260 0 0 S 20 0 0 mediator

    9. Closed all, turn off the program and redone all from start:
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    8014 1.8 169m 111m 57m 3268 160m 2252 3 0 S 20 0 0 mediator

    10. Closed 10 tabs and the other 10 refreshed an closed, Firefox fully
    closed (so all websockets are closed):
    PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
    8014 1.8 169m 111m 57m 3268 160m 2252 3 0 S 20 0 0 mediator

    11. After 5 minutes of inactivity something changed.
    8014 0.3 169m 158m 10m 3268 160m 2260 3 0 S 20 0 0 mediator

    --
  • Davide Muzzarelli at Nov 17, 2012 at 6:42 pm
    The code is simple and short, but I did not found where it may keep the
    memory. I come from Python, there is something that I can do in order to
    find where the memory is not released?

    --
  • Rémy Oudompheng at Nov 17, 2012 at 6:59 pm

    On 2012/11/17 Davide Muzzarelli wrote:
    The code is simple and short, but I did not found where it may keep the
    memory. I come from Python, there is something that I can do in order to
    find where the memory is not released?
    Using top is not an efficient way to measure whether memory is
    released or not. Freeing memory is an internal detail of programs and
    is difficult to observe from the outside.

    You should use memory profiling:
    http://blog.golang.org/2011/06/profiling-go-programs.html

    The easiest way to do so for server programs is to import
    "net/http/pprof", which automatically puts up an online profiling
    interface. Then run

    go tool pprof http://myhost:myport/debug/pprof/heap

    to see where memory is going.

    Rémy.

    --
  • Davide Muzzarelli at Nov 17, 2012 at 7:38 pm
    Thank you Rémy.

    Actually I tested the echo example on the documentation through one chat
    sending about 20MB and I see, via top, that the memory remains the same.


    With the original example I added import _ "net/http/pprof" and the
    call runtime.GC() right after the http.Handle(...) definitions. This test
    is with 15 chats open and several MB of text sent (chunks of 1MB each).

    I post here all the dumps, I tried to find where is the problem from the
    dumps but I really do not find it. Can you help me?


    == FROM THE SHELL ==
    (pprof) gv
    Total: 0.0 MB
    No nodes to print
    (pprof) web
    Total: 0.0 MB
    No nodes to print
    (pprof) top
    Total: 0.0 MB


    == THE FILE GENERATED FROM THE SHELL ==
    heap profile: 18: 18354176 [195: 204390400] @ heap/1048576
    15: 15728640 [138: 144703488] @ 0x416c74 0x41944b 0x421e65 0x4217a7
    0x400d88 0x40ff2c
    2: 1572864 [45: 47054848] @ 0x416c74 0x413ad7 0x413982 0x4a4010 0x4a3dc1
    0x4a873f 0x4a8833 0x421c6f 0x400c81 0x400e87 0x420c84 0x4445ff 0x4435be
    0x40ff2c
    1: 1052672 [12: 12632064] @ 0x416c74 0x418e0a 0x4193e5 0x421fbe 0x421d07
    0x400c81 0x400e87 0x420c84 0x4445ff 0x4435be 0x40ff2c


    == FROM http://localhost:8080/debug/pprof/goroutine?debug=1 ==

    goroutine profile: total 35
    1 @ 0x51a2e1 0x51a116 0x51750e 0x461985 0x461acd 0x4437ab 0x4445ff 0x4435be 0x40ff2c
    # 0x51a2e1 runtime/pprof.writeRuntimeProfile+0x88 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/pprof/pprof.go:517
    # 0x51a116 runtime/pprof.writeGoroutine+0x82 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/pprof/pprof.go:479
    # 0x51750e runtime/pprof.(*Profile).WriteTo+0xa2 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/pprof/pprof.go:221
    # 0x461985 net/http/pprof.handler.ServeHTTP+0x210 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/pprof/pprof.go:163
    # 0x461acd net/http/pprof.Index+0x143 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/pprof/pprof.go:175
    # 0x4437ab net/http.HandlerFunc.ServeHTTP+0x3d /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:704
    # 0x4445ff net/http.(*ServeMux).ServeHTTP+0xb9 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:942
    # 0x4435be net/http.(*conn).serve+0x621 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:670

    1 @ 0x4110fd 0x403cbe 0x404066 0x484877 0x486bb7 0x49428c 0x494386 0x444d4e 0x444cab 0x445166 0x40140c 0x40fe89 0x40ff2c
    # 0x484877 net.(*pollServer).WaitRead+0x73 /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268
    # 0x486bb7 net.(*netFD).accept+0x20d /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:622
    # 0x49428c net.(*TCPListener).AcceptTCP+0x71 /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:320
    # 0x494386 net.(*TCPListener).Accept+0x49 /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:330
    # 0x444d4e net/http.(*Server).Serve+0x88 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1029
    # 0x444cab net/http.(*Server).ListenAndServe+0xb6 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1019
    # 0x445166 net/http.ListenAndServe+0x69 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1091
    # 0x40140c main.main+0xdd /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/main.go:50
    # 0x40fe89 runtime.main+0x92 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:245

    1 @ 0x411139 0x40ea5a 0x40ff2c
    # 0x411139 runtime.entersyscall+0x37 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:952
    # 0x40ea5a runtime.MHeap_Scavenger+0xce /home/design/Archivio/lib/go-1.x/src/pkg/runtime/mheap.c:364

    1 @ 0x4110fd 0x40489a 0x404599 0x4010b4 0x40ff2c
    # 0x40489a selectgo+0x2df /home/design/Archivio/lib/go-1.x/src/pkg/runtime/chan.c:915
    # 0x404599 runtime.selectgo+0x12 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/chan.c:792
    # 0x4010b4 main.(*hub).run+0x223 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/hub.go:19

    1 @ 0x41129c 0x54296b 0x5408d8 0x487cdf 0x48464c 0x40ff2c
    # 0x54296b syscall.Syscall6+0x5 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:41
    # 0x5408d8 syscall.EpollWait+0xa1 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:1846
    # 0x487cdf net.(*pollster).WaitFD+0x110 /home/design/Archivio/lib/go-1.x/src/pkg/net/fd_linux.go:146
    # 0x48464c net.(*pollServer).Run+0xe4 /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:236

    15 @ 0x4110fd 0x403cbe 0x404066 0x484877 0x4855d0 0x492e12 0x460400 0x461ff1 0x462531 0x41d81d 0x421aee 0x400c81 0x400e87 0x420c84 0x4445ff 0x4435be 0x40ff2c
    # 0x484877 net.(*pollServer).WaitRead+0x73 /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268
    # 0x4855d0 net.(*netFD).Read+0x1ec /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428
    # 0x492e12 net.(*TCPConn).Read+0xce /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87
    # 0x460400 io.(*LimitedReader).Read+0xc1 /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406
    # 0x461ff1 bufio.(*Reader).fill+0xf0 /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77
    # 0x462531 bufio.(*Reader).ReadByte+0x83 /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166
    # 0x41d81d code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader+0xd0 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115
    # 0x421aee code.google.com/p/go.net/websocket.Codec.Receive+0x16e /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315
    # 0x400c81 main.(*connection).reader+0x81 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13
    # 0x400e87 main.wsHandler+0xc4 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:38
    # 0x420c84 code.google.com/p/go.net/websocket.Handler.ServeHTTP+0x210 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:77
    # 0x4445ff net/http.(*ServeMux).ServeHTTP+0xb9 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:942
    # 0x4435be net/http.(*conn).serve+0x621 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:670

    15 @ 0x4110fd 0x403cbe 0x4040b1 0x400d21 0x40ff2c
    # 0x400d21 main.(*connection).writer+0x3c /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23



    == FROM http://localhost:8080/debug/pprof/heap?debug=1 ==

    heap profile: 16: 16781312 [166: 174116864] @ heap/1048576
    15: 15728640 [153: 160432128] @ 0x416c74 0x41944b 0x421e65 0x4217a7 0x400d88 0x40ff2c
    # 0x421e65 code.google.com/p/go.net/websocket.marshal+0x13f /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:337
    # 0x4217a7 code.google.com/p/go.net/websocket.Codec.Send+0x56 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:288
    # 0x400d88 main.(*connection).writer+0xa3 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:24

    1: 1052672 [13: 13684736] @ 0x416c74 0x418e0a 0x4193e5 0x421fbe 0x421d07 0x400c81 0x400e87 0x420c84 0x4445ff 0x4435be 0x40ff2c
    # 0x418e0a gostringsize+0x6a /home/design/Archivio/lib/go-1.x/src/pkg/runtime/zstring_amd64.c:46
    # 0x4193e5 runtime.slicebytetostring+0x2d /home/design/Archivio/lib/go-1.x/src/pkg/runtime/zstring_amd64.c:293
    # 0x421fbe code.google.com/p/go.net/websocket.unmarshal+0xc3 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:347
    # 0x421d07 code.google.com/p/go.net/websocket.Codec.Receive+0x387 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:331
    # 0x400c81 main.(*connection).reader+0x81 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13
    # 0x400e87 main.wsHandler+0xc4 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:38
    # 0x420c84 code.google.com/p/go.net/websocket.Handler.ServeHTTP+0x210 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:77
    # 0x4445ff net/http.(*ServeMux).ServeHTTP+0xb9 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:942
    # 0x4435be net/http.(*conn).serve+0x621 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:670


    # runtime.MemStats
    # Alloc = 21269552
    # TotalAlloc = 233722792
    # Sys = 55720184
    # Lookups = 2544
    # Mallocs = 9722
    # HeapAlloc = 21269552
    # HeapSys = 49479680
    # HeapIdle = 27955200
    # HeapInuse = 21524480
    # Stack = 147456 / 393216
    # MSpan = 19712 / 131072
    # MCache = 20240 / 131072
    # BuckHashSys = 1439992
    # NextGC = 42417536
    # PauseNs = [279000 450000 634000 610000 1087000 787000 790000 1362000 1205000 1494000 2808000 2505000 2615000 2501000 2528000 2986000 2671000 2886000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
    # NumGC = 18
    # EnableGC = true
    # DebugGC = false



    == FROM http://localhost:8080/debug/pprof/threadcreate?debug=1 ==

    threadcreate profile: total 10
    5 @ 0x410d42 0x410cf0 0x411253 0x542906 0x540fe1 0x486105 0x492fe5 0x4637a1 0x41e3a0 0x421929 0x400d88 0x40ff2c
    # 0x410cf0 matchmg+0x94 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:796
    # 0x411253 runtime.entersyscall+0x151 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:978
    # 0x542906 syscall.Syscall+0x5 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:16
    # 0x540fe1 syscall.Write+0x78 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:2606
    # 0x486105 net.(*netFD).Write+0x1a7 /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:518
    # 0x492fe5 net.(*TCPConn).Write+0xce /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:103
    # 0x4637a1 bufio.(*Writer).Write+0xdf /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:453
    # 0x41e3a0 code.google.com/p/go.net/websocket.(*hybiFrameWriter).Write+0x4b6 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:230
    # 0x421929 code.google.com/p/go.net/websocket.Codec.Send+0x1d8 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:298
    # 0x400d88 main.(*connection).writer+0xa3 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:24

    1 @ 0x410d42 0x410cf0 0x411253 0x542906 0x540fe1 0x486105 0x492fe5 0x463524 0x463864 0x41e3a0 0x421929 0x400d88 0x40ff2c
    # 0x410cf0 matchmg+0x94 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:796
    # 0x411253 runtime.entersyscall+0x151 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:978
    # 0x542906 syscall.Syscall+0x5 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:16
    # 0x540fe1 syscall.Write+0x78 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:2606
    # 0x486105 net.(*netFD).Write+0x1a7 /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:518
    # 0x492fe5 net.(*TCPConn).Write+0xce /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:103
    # 0x463524 bufio.(*Writer).Flush+0xb7 /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:421
    # 0x463864 bufio.(*Writer).Write+0x1a2 /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:457
    # 0x41e3a0 code.google.com/p/go.net/websocket.(*hybiFrameWriter).Write+0x4b6 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:230
    # 0x421929 code.google.com/p/go.net/websocket.Codec.Send+0x1d8 /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:298
    # 0x400d88 main.(*connection).writer+0xa3 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:24

    1 @ 0x410d42 0x410cf0 0x411253 0x542906 0x541917 0x53f0f6 0x486a89 0x49428c 0x494386 0x444d4e 0x444cab 0x445166 0x40140c 0x40fe89 0x40ff2c
    # 0x410cf0 matchmg+0x94 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:796
    # 0x411253 runtime.entersyscall+0x151 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:978
    # 0x542906 syscall.Syscall+0x5 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:16
    # 0x541917 syscall.accept+0x58 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:3103
    # 0x53f0f6 syscall.Accept+0x87 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/syscall_linux.go:387
    # 0x486a89 net.(*netFD).accept+0xdf /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:616
    # 0x49428c net.(*TCPListener).AcceptTCP+0x71 /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:320
    # 0x494386 net.(*TCPListener).Accept+0x49 /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:330
    # 0x444d4e net/http.(*Server).Serve+0x88 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1029
    # 0x444cab net/http.(*Server).ListenAndServe+0xb6 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1019
    # 0x445166 net/http.ListenAndServe+0x69 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1091
    # 0x40140c main.main+0xdd /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/main.go:50
    # 0x40fe89 runtime.main+0x92 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:245

    1 @ 0x410d42 0x410cf0 0x411253 0x542906 0x540b01 0x53e146 0x490c50 0x48de6a 0x494004 0x47d08e 0x444c4a 0x445166 0x40140c 0x40fe89 0x40ff2c
    # 0x410cf0 matchmg+0x94 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:796
    # 0x411253 runtime.entersyscall+0x151 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:978
    # 0x542906 syscall.Syscall+0x5 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:16
    # 0x540b01 syscall.fcntl+0x5c /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:1939
    # 0x53e146 syscall.CloseOnExec+0x33 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/exec_unix.go:94
    # 0x490c50 net.socket+0xe8 /home/design/Archivio/lib/go-1.x/src/pkg/net/sock.go:28
    # 0x48de6a net.internetSocket+0x3c9 /home/design/Archivio/lib/go-1.x/src/pkg/net/ipsock_posix.go:138
    # 0x494004 net.ListenTCP+0xc2 /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:300
    # 0x47d08e net.Listen+0x1e3 /home/design/Archivio/lib/go-1.x/src/pkg/net/dial.go:188
    # 0x444c4a net/http.(*Server).ListenAndServe+0x55 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1015
    # 0x445166 net/http.ListenAndServe+0x69 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1091
    # 0x40140c main.main+0xdd /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/main.go:50
    # 0x40fe89 runtime.main+0x92 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:245

    1 @ 0x410d42 0x410cf0 0x411253 0x54296b 0x541bc1 0x53f693 0x48d7ba 0x49a4b9 0x44d146 0x461c9b 0x401520 0x40fe68 0x40ff2c
    # 0x410cf0 matchmg+0x94 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:796
    # 0x411253 runtime.entersyscall+0x151 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:978
    # 0x54296b syscall.Syscall6+0x5 /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:41
    # 0x541bc1 syscall.setsockopt+0x7a /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:3165
    # 0x53f693 syscall.SetsockoptInt+0x6b /home/design/Archivio/lib/go-1.x/src/pkg/syscall/syscall_linux.go:482
    # 0x48d7ba net.probeIPv6Stack+0x218 /home/design/Archivio/lib/go-1.x/src/pkg/net/ipsock_posix.go:42
    # 0x49a4b9 net.init+0x5a0 net/_obj/_cgo_gotypes.go:-3445
    # 0x44d146 net/http.init+0x60 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/transport.go:782
    # 0x461c9b net/http/pprof.init+0x61 /home/design/Archivio/lib/go-1.x/src/pkg/net/http/pprof/pprof.go:202
    # 0x401520 main.init+0x43 /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/hub.go:11
    # 0x40fe68 runtime.main+0x71 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:235

    1 @ 0x40fd47 0x419d40
    # 0x419d40 _rt0_amd64+0xc5 /home/design/Archivio/lib/go-1.x/src/pkg/runtime/asm_amd64.s:67



    == FROM (full gorutine stack dump) http://localhost:8080/debug/pprof/goroutine?debug=2 ==

    goroutine 47 [running]:
    runtime/pprof.writeGoroutineStacks(0xf8400c60f0, 0xf8400749c0, 0x10, 0x7f0c0f4c4ca8, 0xf840000f58, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/runtime/pprof/pprof.go:488 +0x6f
    runtime/pprof.writeGoroutine(0xf8400c60f0, 0xf8400749c0, 0x2, 0x944d102bd1e33a00, 0x30, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/runtime/pprof/pprof.go:477 +0x3a
    runtime/pprof.(*Profile).WriteTo(0x79cbc0, 0xf8400c60f0, 0xf8400749c0, 0xf800000002, 0xf8400749c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/runtime/pprof/pprof.go:221 +0xa2
    net/http/pprof.handler.ServeHTTP(0xf8401222e1, 0xf800000009, 0xf8400713c0, 0xf8400749c0, 0xf8400d56c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/pprof/pprof.go:162 +0x210
    net/http/pprof.Index(0xf8400713c0, 0xf8400749c0, 0xf8400d56c0, 0x4445ff, 0x46198a, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/pprof/pprof.go:174 +0x143
    net/http.HandlerFunc.ServeHTTP(0x46198a, 0xf8400713c0, 0xf8400749c0, 0xf8400d56c0, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:703 +0x3d
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8400749c0, 0xf8400d56c0, 0xf8400749c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840070660, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 1 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aaf30, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).accept(0xf8400aaf30, 0x492867, 0x0, 0xf8400773c0, 0xf84008f040, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:622 +0x20d
    net.(*TCPListener).AcceptTCP(0xf84008f2a0, 0xf8407c32d0, 0x0, 0x0, 0x8, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:320 +0x71
    net.(*TCPListener).Accept(0xf84008f2a0, 0x0, 0x0, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:330 +0x49
    net/http.(*Server).Serve(0xf840073fc0, 0xf840076d40, 0xf84008f2a0, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1029 +0x88
    net/http.(*Server).ListenAndServe(0xf840073fc0, 0xf840073fc0, 0x400dc3, 0x40140c)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1019 +0xb6
    net/http.ListenAndServe(0x6377ac, 0x5, 0x0, 0x0, 0x400dc3, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1091 +0x69
    main.main()
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/main.go:50 +0xdd

    goroutine 2 [syscall]:
    created by runtime.main
    /home/design/Archivio/lib/go-1.x/src/pkg/runtime/proc.c:221

    goroutine 3 [select]:
    main.(*hub).run(0x7a3d60, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/hub.go:19 +0x223
    created by main.main
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/main.go:44 +0x34

    goroutine 4 [syscall]:
    syscall.Syscall6()
    /home/design/Archivio/lib/go-1.x/src/pkg/syscall/asm_linux_amd64.s:40 +0x5
    syscall.EpollWait(0xf800000006, 0xf8400c8f30, 0xa0000000a, 0xffffffff, 0xc, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/syscall/zerrors_linux_amd64.go:1846 +0xa1
    net.(*pollster).WaitFD(0xf8400c8f20, 0xf840076cc0, 0x0, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd_linux.go:146 +0x110
    net.(*pollServer).Run(0xf840076cc0, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:236 +0xe4
    created by net.newPollServer
    /home/design/Archivio/lib/go-1.x/src/pkg/net/newpollserver.go:35 +0x382

    goroutine 11 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aa5a0, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8400aa5a0, 0xf84011e000, 0x100000001000, 0xf8ffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f790, 0xf84011e000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8400b5f20, 0xf84011e000, 0x100000001000, 0xe0000000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8400de640, 0x7f0c0f4c5c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8400de640, 0x6013a8, 0x0, 0x0, 0xf840075550, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8400de640, 0xf8400b6280, 0xf840075550, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400adf80, 0x55b4b8, 0xf8400788c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf84011d290, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400adf80, 0xf84008f790)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8400de740, 0xf8400c7480, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8400de740, 0xf8400c7480, 0xf8400de740, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840070f60, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 12 [chan receive]:
    main.(*connection).writer(0xf84011d290, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 13 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aa360, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8400aa360, 0xf840121000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f9b8, 0xf840121000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8400720c0, 0xf840121000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf840074fc0, 0x7f0c0f4c7c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf840074fc0, 0x6013a8, 0x0, 0x0, 0xf840075f00, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf840074fc0, 0xf8400b6280, 0xf840075f00, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad300, 0x55b4b8, 0xf8400788f0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf840078920, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad300, 0xf84008f9b8)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8400def00, 0xf8400d5c00, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8400def00, 0xf8400d5c00, 0xf8400def00, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840070d80, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 14 [chan receive]:
    main.(*connection).writer(0xf840078920, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 15 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf840123090, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf840123090, 0xf8400c0000, 0x100000001000, 0x7f0cffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f310, 0xf8400c0000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8400b5500, 0xf8400c0000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8400de080, 0x7f0c0eca2c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8400de080, 0x6013a8, 0x0, 0x0, 0xf8400b6550, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8400de080, 0xf8400b6280, 0xf8400b6550, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2000, 0x55b4b8, 0xf840078fd0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf840078ef0, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2000, 0xf84008f310)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8400de180, 0xf8400c7240, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8400de180, 0xf8400c7240, 0xf8400de180, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840114120, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 16 [chan receive]:
    main.(*connection).writer(0xf840078ef0, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 17 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aa870, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8400aa870, 0xf8400dc000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f478, 0xf8400dc000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8400b5880, 0xf8400dc000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8400decc0, 0x7f0c0f4c9c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8400decc0, 0x6013a8, 0x0, 0x0, 0xf840075e10, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8400decc0, 0xf8400b6280, 0xf840075e10, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad180, 0x55b4b8, 0xf84011d080, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf84011d070, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad180, 0xf84008f478)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8400debc0, 0xf8400d5d80, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8400debc0, 0xf8400d5d80, 0xf8400debc0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840070480, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 18 [chan receive]:
    main.(*connection).writer(0xf84011d070, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 19 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf840123240, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf840123240, 0xf8407a8000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f558, 0xf8407a8000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8400b5e20, 0xf8407a8000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf840076680, 0x7f0c0eca4c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf840076680, 0x6013a8, 0x0, 0x0, 0xf8400b6460, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf840076680, 0xf8400b6280, 0xf8400b6460, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2080, 0x55b4b8, 0xf84011d970, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf84011d960, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2080, 0xf84008f558)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf840076f00, 0xf8400c70c0, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf840076f00, 0xf8400c70c0, 0xf840076f00, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840114300, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 20 [chan receive]:
    main.(*connection).writer(0xf84011d960, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 21 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aaa20, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8400aaa20, 0xf8407ab000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f6d0, 0xf8407ab000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8401204a0, 0xf8407ab000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8400de980, 0x7f0c0f4cbc08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8400de980, 0x6013a8, 0x0, 0x0, 0xf840075d20, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8400de980, 0xf8400b6280, 0xf840075d20, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad080, 0x55b4b8, 0xf84011dd60, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf84011dd50, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad080, 0xf84008f6d0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf840073ac0, 0xf8407ad000, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf840073ac0, 0xf8407ad000, 0xf840073ac0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840070780, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 22 [chan receive]:
    main.(*connection).writer(0xf84011dd50, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 23 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8401233f0, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8401233f0, 0xf8407b1000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008f7f8, 0xf8407b1000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8401208c0, 0xf8407b1000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf840073880, 0x7f0c0eca6c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf840073880, 0x6013a8, 0x0, 0x0, 0xf8400b6370, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf840073880, 0xf8400b6280, 0xf8400b6370, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2100, 0x55b4b8, 0xf8407b4140, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407b4130, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2100, 0xf84008f7f8)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407b20c0, 0xf8400c7000, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407b20c0, 0xf8400c7000, 0xf8407b20c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840114540, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 24 [chan receive]:
    main.(*connection).writer(0xf8407b4130, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 25 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aac60, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8400aac60, 0xf8407b7000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008fb00, 0xf8407b7000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf840120d60, 0xf8407b7000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf840073f80, 0x7f0c0f4cdc08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf840073f80, 0x6013a8, 0x0, 0x0, 0xf840075c30, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf840073f80, 0xf8400b6280, 0xf840075c30, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad000, 0x55b4b8, 0xf8407b4550, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407b4540, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad000, 0xf84008fb00)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf840071780, 0xf8407ad180, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf840071780, 0xf8407ad180, 0xf840071780, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840070e40, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 26 [chan receive]:
    main.(*connection).writer(0xf8407b4540, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 27 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8401235a0, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8401235a0, 0xf8407ba000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008fcd8, 0xf8407ba000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407b9580, 0xf8407ba000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8407b2300, 0x7f0c0eca8c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8407b2300, 0x6013a8, 0x0, 0x0, 0xf8400b6a00, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8407b2300, 0xf8400b6280, 0xf8400b6a00, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2180, 0x55b4b8, 0xf8407b4910, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407b4900, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2180, 0xf84008fcd8)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407b2400, 0xf8400c7780, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407b2400, 0xf8400c7780, 0xf8407b2400, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840114780, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 28 [chan receive]:
    main.(*connection).writer(0xf8407b4900, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 29 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8400aae10, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8400aae10, 0xf8407bc000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008fc38, 0xf8407bc000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407b9ca0, 0xf8407bc000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf84006fc80, 0x7f0c0f4cfc08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf84006fc80, 0x6013a8, 0x0, 0x0, 0xf840075b40, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf84006fc80, 0xf8400b6280, 0xf840075b40, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad380, 0x55b4b8, 0xf8407b4d20, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407b4d10, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad380, 0xf84008fc38)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407b28c0, 0xf8407ad240, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407b28c0, 0xf8407ad240, 0xf8407b28c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf840114de0, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 30 [chan receive]:
    main.(*connection).writer(0xf8407b4d10, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 31 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf840123750, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf840123750, 0xf8407c1000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf84008ff10, 0xf8407c1000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407b9a40, 0xf8407c1000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8407b2640, 0x7f0c0ecaac08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8407b2640, 0x6013a8, 0x0, 0x0, 0xf8400b6af0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8407b2640, 0xf8400b6280, 0xf8400b6af0, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2200, 0x55b4b8, 0xf8407c30e0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407c30d0, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2200, 0xf84008ff10)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407b2740, 0xf8400c7900, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407b2740, 0xf8400c7900, 0xf8407b2740, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf8401149c0, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 32 [chan receive]:
    main.(*connection).writer(0xf8407c30d0, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 33 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8407be120, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8407be120, 0xf8407c9000, 0x100000001000, 0xffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf8407c8010, 0xf8407c9000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407c4560, 0xf8407c9000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8407b2b00, 0x7f0c0f4d1c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8407b2b00, 0x6013a8, 0x0, 0x0, 0xf840075a50, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8407b2b00, 0xf8400b6280, 0xf840075a50, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad400, 0x55b4b8, 0xf8407c34f0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407c34e0, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad400, 0xf8407c8010)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407b2c00, 0xf8407ad3c0, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407b2c00, 0xf8407ad3c0, 0xf8407b2c00, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf8407c7060, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 34 [chan receive]:
    main.(*connection).writer(0xf8407c34e0, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 35 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf840123900, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf840123900, 0xf8407cb000, 0x100000001000, 0x7f0cffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf8407c8148, 0xf8407cb000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407c4300, 0xf8407cb000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8407c5180, 0x7f0c0ecacc08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8407c5180, 0x6013a8, 0x0, 0x0, 0xf8400b6be0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8407c5180, 0xf8400b6280, 0xf8400b6be0, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2280, 0x55b4b8, 0xf8407c38b0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407c38a0, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2280, 0xf8407c8148)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407c5280, 0xf8400c7a80, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407c5280, 0xf8400c7a80, 0xf8407c5280, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf8407c7c00, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 36 [chan receive]:
    main.(*connection).writer(0xf8407c38a0, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 37 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf8407be2d0, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf8407be2d0, 0xf8407ce000, 0x100000001000, 0x7f0cffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf8407c8248, 0xf8407ce000, 0x100000001000, 0x7f0c10e04030, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407c4a20, 0xf8407ce000, 0x100000001000, 0xced00000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8407b2e40, 0x7f0c0f4d3c08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8407b2e40, 0x6013a8, 0x0, 0x0, 0xf8400b6640, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8407b2e40, 0xf8400b6280, 0xf8400b6640, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400ad480, 0x55b4b8, 0xf8407c3cc0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf8407c3cb0, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400ad480, 0xf8407c8248)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407b2f40, 0xf8407ad540, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407b2f40, 0xf8407ad540, 0xf8407b2f40, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf8407c72a0, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 38 [chan receive]:
    main.(*connection).writer(0xf8407c3cb0, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    goroutine 39 [chan receive]:
    net.(*pollServer).WaitRead(0xf840076cc0, 0xf840123ab0, 0xf840077d80, 0xb, 0x1, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:268 +0x73
    net.(*netFD).Read(0xf840123ab0, 0xf840766000, 0x100000001000, 0xf8ffffffff, 0xf8400773c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/fd.go:428 +0x1ec
    net.(*TCPConn).Read(0xf8407c8380, 0xf840766000, 0x100000001000, 0x7f0c10e04818, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/tcpsock_posix.go:87 +0xce
    io.(*LimitedReader).Read(0xf8407c4fc0, 0xf840766000, 0x100000001000, 0xe0000000000, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/io/io.go:406 +0xc1
    bufio.(*Reader).fill(0xf8407c54c0, 0x7f0c0ecaec08)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:77 +0xf0
    bufio.(*Reader).ReadByte(0xf8407c54c0, 0x6013a8, 0x0, 0x0, 0xf8400b6500, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/bufio/bufio.go:166 +0x83
    code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0xf8407c54c0, 0xf8400b6280, 0xf8400b6500, 0x0, 0x0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/hybi.go:115 +0xd0
    code.google.com/p/go.net/websocket.Codec.Receive(0x421d26, 0x421efb, 0xf8400c2300, 0x55b4b8, 0xf8407c3e80, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/websocket.go:315 +0x16e
    main.(*connection).reader(0xf840768070, 0xf840075910)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:13 +0x81
    main.wsHandler(0xf8400c2300, 0xf8407c8380)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:37 +0xc4
    code.google.com/p/go.net/websocket.Handler.ServeHTTP(0x400dc3, 0xf8400713c0, 0xf8407c55c0, 0xf8400c7c00, 0xf800000000, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/code.google.com/p/go.net/websocket/server.go:76 +0x210
    net/http.(*ServeMux).ServeHTTP(0xf840072580, 0xf8400713c0, 0xf8407c55c0, 0xf8400c7c00, 0xf8407c55c0, ...)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:941 +0xb9
    net/http.(*conn).serve(0xf8407c7e40, 0x0)
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:669 +0x621
    created by net/http.(*Server).Serve
    /home/design/Archivio/lib/go-1.x/src/pkg/net/http/server.go:1057 +0x430

    goroutine 40 [chan receive]:
    main.(*connection).writer(0xf840768070, 0x0)
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:23 +0x3c
    created by main.wsHandler
    /home/design/Lavoro_informatica/contatti/catucci carlos/techlan/spikesolution/websocket/src/mediator/conn.go:36 +0xb4

    --
  • Davide Muzzarelli at Nov 19, 2012 at 12:04 pm
    Reading many times my few lines of code and comparing with the
    documentation I really do not find where is the problem, have you some idea
    where I have to looking for or this is a Go bug?

    --

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedNov 17, '12 at 1:02a
activeNov 19, '12 at 12:04p
posts9
users3
websitegolang.org

People

Translate

site design / logo © 2021 Grokbase