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

compress/flate: panic in makeslice #5915

Closed
gopherbot opened this issue Jul 18, 2013 · 4 comments
Closed

compress/flate: panic in makeslice #5915

gopherbot opened this issue Jul 18, 2013 · 4 comments
Milestone

Comments

@gopherbot
Copy link

by mattcotework:

Before filing a bug, please check whether it has been fixed since the
latest release. Search the issue tracker and check that you're running the
latest version of Go:

Run "go version" and compare against
http://golang.org/doc/devel/release.html  If a newer version of Go exists,
install it and retry what you did to reproduce the problem.

Thanks.

What steps will reproduce the problem?

import (
    "io/ioutil"
    "bytes"
    "compress/gzip"
    "fmt"
)

func main() {

    b, rerr := ioutil.ReadFile("test.out")

    if rerr == nil {
        br := bytes.NewReader(b)
        gr, err := gzip.NewReader(br)
        defer gr.Close()

        if err == nil {
            data, e2 := ioutil.ReadAll(gr)
            fmt.Printf("%s\n\n", e2)
            fmt.Printf("%#v", data)
        }
    }
}


What is the expected output?



What do you see instead?


panic: runtime error: makeslice: len out of range

compress/flate.(*huffmanDecoder).init(0xc3762e0230, 0xc376803000, 0x111, 0x13e, 0x0, ...)
        /usr/local/go/src/pkg/compress/flate/inflate.go:128 +0x15d
compress/flate.(*decompressor).readHuffman(0xc3762e0200, 0x0, 0x0)
        /usr/local/go/src/pkg/compress/flate/inflate.go:371 +0x450
compress/flate.(*decompressor).nextBlock(0xc3762e0200)
        /usr/local/go/src/pkg/compress/flate/inflate.go:242 +0x19f
compress/flate.(*decompressor).Read(0xc3762e0200, 0xc376693a00, 0x200, 0x200, 0x200, ...)
        /usr/local/go/src/pkg/compress/flate/inflate.go:264 +0x1a1
compress/gzip.(*Reader).Read(0xc376556840, 0xc376693a00, 0x200, 0x200, 0x200, ...)
        /usr/local/go/src/pkg/compress/gzip/gunzip.go:207 +0xeb
gnw.(*http_pair).processResponse(0xc37670b200, 0xc3677d7000)
        /home/mcote/code/gnw/src/gnw/http.go:254 +0x2f0
gnw.http_process_stream_segments(0xc3677d7000)
        /home/mcote/code/gnw/src/gnw/http.go:154 +0x4ad
gnw.(*GnwStreamSegmentsManager).Process(0xc3677d7000)
        /home/mcote/code/gnw/src/gnw/gnwmain.go:142 +0x76
main.func·001()
        /home/mcote/code/gnw/src/gnwpcapparser.go:317 +0x9c
created by main.(*PcapMonitor).StartStreamProcessor
        /home/mcote/code/gnw/src/gnwpcapparser.go:334 +0x83

Which compiler are you using (5g, 6g, 8g, gccgo)?
Which operating system are you using?

GOARCH="amd64"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GORACE=""
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"


Which version are you using?  (run 'go version')

1.1.1

Please provide any additional information below.


test.out listed above as base64 data:

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
@robpike
Copy link
Contributor

robpike commented Jul 18, 2013

Comment 1:

Labels changed: added priority-soon, removed priority-triage.

Status changed to Accepted.

@rsc
Copy link
Contributor

rsc commented Jul 30, 2013

Comment 2:

Labels changed: added go1.2.

@PieterD
Copy link
Contributor

PieterD commented Aug 1, 2013

Comment 3:

https://golang.org/cl/12288043/
The flate code is really dense, and all I could really do is treat the symptoms. There
may be an underlying problem with the algorithm, which I will never find.

@bradfitz
Copy link
Contributor

bradfitz commented Aug 1, 2013

Comment 4:

This issue was closed by revision df1eeeb.

Status changed to Fixed.

@rsc rsc added this to the Go1.2 milestone Apr 14, 2015
@rsc rsc removed the go1.2 label Apr 14, 2015
@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
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