-
Notifications
You must be signed in to change notification settings - Fork 511
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
Panic #62
Comments
Please post the stack trace to the go-nuts list with your go version. |
I did. They think it is heap corruption. I have a pretty simple replication, that hopefully you can reproduce. https://gist.github.com/captncraig/dfb0224ff4dfab1022e6 Basically tries to read invalid columns from a table, and then it panics in fmt.Println while trying to print the error that Go 1.3.1 on Windows 8.1 to Sql server 2012. |
The heap corruption might be from the single-sign-on code. Can you try using SQL server authentication? |
That seems reasonable. It does not occur with sql authentication, nor does it occur if I set GODEBUG=efence=1 |
@captncraig Please try with the latest version. |
I am getting a really odd panic:
fatal error: unexpected signal during runtime execution
[signal 0xc0000005 code=0x0 addr=0xb69709e590 pc=0x425875]
goroutine 25 [running]:
runtime.throw(0xa18620)
c:/go/src/pkg/runtime/panic.c:520 +0x7e fp=0x3cf6f0 sp=0x3cf6d8
runtime.sigpanic()
c:/go/src/pkg/runtime/os_windows.c:352 +0x4b fp=0x3cf708 sp=0x3cf6f0
runtime.mallocgc(0x50, 0x6892c1, 0x1)
c:/go/src/pkg/runtime/malloc.goc:154 +0x365 fp=0x3cf770 sp=0x3cf708
cnew(0x6892c0, 0x12, 0x1)
c:/go/src/pkg/runtime/malloc.goc:836 +0xc8 fp=0x3cf790 sp=0x3cf770
runtime.cnewarray(0x6892c0, 0x12)
c:/go/src/pkg/runtime/malloc.goc:849 +0x41 fp=0x3cf7b0 sp=0x3cf790
makeslice1(0x67a320, 0x12, 0x12, 0x3cf810)
c:/go/src/pkg/runtime/slice.goc:55 +0x54 fp=0x3cf7c8 sp=0x3cf7b0
runtime.makeslice(0x67a320, 0x12, 0x12, 0x0, 0x12, 0x12)
c:/go/src/pkg/runtime/slice.goc:36 +0xba fp=0x3cf7f8 sp=0x3cf7c8
unicode/utf16.Decode(0xc082122510, 0x12, 0x12, 0x0, 0x0, 0x0)
c:/go/src/pkg/unicode/utf16/utf16.go:87 +0x5d fp=0x3cf858 sp=0x3cf7f8
github.com/denisenkom/go-mssqldb.ucs22str(0xc0820109c0, 0x24, 0xc8, 0x0, 0x0, 0x0, 0x0)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/tds.go:315 +0x3cb fp=0x3cf9c8 sp=0x3cf858
github.com/denisenkom/go-mssqldb.decodeUcs2(0xc0820109c0, 0x24, 0xc8, 0x0, 0x0)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/types.go:767 +0x6b fp=0x3cfa68 sp=0x3cf9c8
github.com/denisenkom/go-mssqldb.decodeNChar(0xc0820109c0, 0x24, 0xc8, 0x0, 0x0)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/types.go:775 +0x54 fp=0x3cfa98 sp=0x3cfa68
github.com/denisenkom/go-mssqldb.readShortLenType(0xc08212d818, 0xc082006840, 0x0, 0x0)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/types.go:352 +0x2b3 fp=0x3cfb70 sp=0x3cfa98
github.com/denisenkom/go-mssqldb.parseRow(0xc082006840, 0xc0821a6240, 0x2, 0x2, 0xc082067760, 0x2, 0x2)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/token.go:254 +0xd9 fp=0x3cfc38 sp=0x3cfb70
github.com/denisenkom/go-mssqldb.processResponse(0xc08200c660, 0xc08202e6e0)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/token.go:362 +0x857 fp=0x3cff98 sp=0x3cfc38
runtime.goexit()
c:/go/src/pkg/runtime/proc.c:1445 fp=0x3cffa0 sp=0x3cff98
created by github.com/denisenkom/go-mssqldb.(*MssqlStmt).Query
D:/GoPath/src/github.com/denisenkom/go-mssqldb/mssql.go:212 +0x104
.... My code....
goroutine 16 [runnable]:
github.com/denisenkom/go-mssqldb.(_MssqlRows).Next(0xc082122180, 0xc08211e4a0, 0x2, 0x2, 0x0, 0x0)
D:/GoPath/src/github.com/denisenkom/go-mssqldb/mssql.go:275 +0x8d
database/sql.(_Rows).Next(0xc08200d5c0, 0x2)
c:/go/src/pkg/database/sql/sql.go:1542 +0xec
.... My code....
goroutine 19 [finalizer wait]:
runtime.park(0x416380, 0xa214d0, 0xa1f629)
c:/go/src/pkg/runtime/proc.c:1369 +0xac
runtime.parkunlock(0xa214d0, 0xa1f629)
c:/go/src/pkg/runtime/proc.c:1385 +0x42
runfinq()
c:/go/src/pkg/runtime/mgc0.c:2644 +0xdd
runtime.goexit()
c:/go/src/pkg/runtime/proc.c:1445
goroutine 20 [chan receive]:
database/sql.(*DB).connectionOpener(0xc082046400)
c:/go/src/pkg/database/sql/sql.go:583 +0x4f
created by database/sql.Open
c:/go/src/pkg/database/sql/sql.go:442 +0x283
It is a bit hard to replicate as it appears to be somewhat dependant on data, although I can't find a pattern to trigger it.
My query is "Select top(100) name,value from MyTable" where name is nvarchar(100) and value is int. I am scanning the columns into a string and int. It will work for some number of rows, and then panic.
The text was updated successfully, but these errors were encountered: