stalecucumber icon indicating copy to clipboard operation
stalecucumber copied to clipboard

Pickle Machine failed on opcode:0x81

Open chanleeli opened this issue 5 years ago • 3 comments

err: Pickle Machine failed on opcode:0x81. Stack size:1. Memo size:0. Cause:Input encountered opcode that is not implemented

i need unpickle an instance of a Python object with golang now, can you help me fix it out?

chanleeli avatar May 11 '19 04:05 chanleeli

If you can provide example python code that generates a pickled object containing this byte code I may be able to help.

hydrogen18 avatar Jun 20 '19 00:06 hydrogen18

Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected

python (3.6.5):

with open("pickletest.pkl","wb") as f:
    f.write(pickle.dumps([1,1,1]))

golang (1.11.2):

package main

import (
	"fmt"
	"github.com/hydrogen18/stalecucumber"
	"os"
)

func main(){
	//var somePickleData io.Reader
	file,err:=os.Open("./static/pickletest.pkl")
	if err !=nil{
		_ =file.Close()
		panic(err)
	}
	numbers:=make([]interface{},0)
	err =stalecucumber.UnpackInto(&numbers).From(stalecucumber.Unpickle(file))
	if err !=nil{
		fmt.Println(err)
	}
	fmt.Println(numbers)
}

error:

Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected
[]

iris-qq avatar Nov 26 '19 03:11 iris-qq

Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected

python (3.6.5):

with open("pickletest.pkl","wb") as f:
    f.write(pickle.dumps([1,1,1]))

golang (1.11.2):

package main

import (
	"fmt"
	"github.com/hydrogen18/stalecucumber"
	"os"
)

func main(){
	//var somePickleData io.Reader
	file,err:=os.Open("./static/pickletest.pkl")
	if err !=nil{
		_ =file.Close()
		panic(err)
	}
	numbers:=make([]interface{},0)
	err =stalecucumber.UnpackInto(&numbers).From(stalecucumber.Unpickle(file))
	if err !=nil{
		fmt.Println(err)
	}
	fmt.Println(numbers)
}

error:

Pickle Machine failed on opcode:0x80. Stack size:0. Memo size:0. Cause:Unsupported version #3 detected
[]

pickle.dumps(xxxx,2),sloved.

iris-qq avatar Nov 26 '19 05:11 iris-qq