Hi Ian, Initially the program giving err driver: bad connection for rows.Err(). So I added panic with that error to get the stack trace.
for rows.Next() { //stats calculation } if err := rows.Err(); err != nil { panic(err) *// this is line 498* } rows.Close() How can find out the reason for that error? Do I need to search in the library github.com/alexbrainman/odbc <http://www.google.com/url?q=http%3A%2F%2Fgithub.com%2Falexbrainman%2Fodbc&sa=D&sntz=1&usg=AFQjCNHY28LYBk3w52Tg_SY8noRnErJhqw> code? On Friday, July 8, 2016 at 8:29:52 PM UTC+5:30, Ian Lance Taylor wrote: > > On Fri, Jul 8, 2016 at 7:50 AM, Raj <rajenderre...@gmail.com <javascript:>> > wrote: > > By the way I am using go1.7 beta2. Same error was appearing with go1.6 > also. > > > > What does those 8 minutes mean in stack trace? > > Those annotations mean that those goroutines have been sitting around > waiting for something to happen for 8 minutes. > > The stack trace is pointing you at line 498 of compstats.go. That > line is apparently panicing for some reason. I would start there. > > Ian > > > > > On Friday, July 8, 2016 at 8:13:26 PM UTC+5:30, Raj wrote: > >> > >> Hi, > >> > >> My program which has 10 user gourotines to read tables from a database > and > >> generates some stats. I am using github.com/alexbrainman/odbc > <http://www.google.com/url?q=http%3A%2F%2Fgithub.com%2Falexbrainman%2Fodbc&sa=D&sntz=1&usg=AFQjCNHY28LYBk3w52Tg_SY8noRnErJhqw> > > to connect SQL > >> Server 2012. > >> > >> I am getting driver: bad connection frequently, but not always. Can > >> somebody help me in debugging this? > >> > >> > >> Sart of the stack trace.... > >> > >> panic: driver: bad connection > >> > >> goroutine 18 [running]: > >> panic(0x4fa740, 0xc04200c2b0) > >> C:/Go/src/runtime/panic.go:500 +0x1af fp=0xc0421d70f0 > sp=0xc0421d7060 > >> main.process(0xc0420e4000, 0xc042165070) > >> C:/Users/tgmsaven1/go/src/ > github.com/TGMNY/compstats/compstats.go:498 > >> +0x274a fp=0xc0421d7f80 sp=0xc0421d70f0 > >> runtime.goexit() > >> C:/Go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc0421d7f88 > >> sp=0xc0421d7f80 > >> created by main.main > >> C:/Users/tgmsaven1/go/src/ > github.com/TGMNY/compstats/compstats.go:268 > >> +0xfc4 > >> > >> goroutine 1 [semacquire, 8 minutes]: > >> runtime.gopark(0x534e98, 0x5b4140, 0x51b357, 0xa, 0x19, 0x4) > >> C:/Go/src/runtime/proc.go:259 +0x14f fp=0xc0424dd680 > sp=0xc0424dd650 > >> runtime.goparkunlock(0x5b4140, 0x51b357, 0xa, 0xc042072219, 0x4) > >> C:/Go/src/runtime/proc.go:265 +0x65 fp=0xc0424dd6c0 sp=0xc0424dd680 > >> runtime.semacquire(0xc04216507c, 0x1) > >> C:/Go/src/runtime/sema.go:111 +0x222 fp=0xc0424dd728 > sp=0xc0424dd6c0 > >> sync.runtime_Semacquire(0xc04216507c) > >> C:/Go/src/runtime/sema.go:47 +0x37 fp=0xc0424dd748 sp=0xc0424dd728 > >> sync.(*WaitGroup).Wait(0xc042165070) > >> C:/Go/src/sync/waitgroup.go:131 +0x9e fp=0xc0424dd798 > sp=0xc0424dd748 > >> main.main() > >> C:/Users/tgmsaven1/go/src/ > github.com/TGMNY/compstats/compstats.go:310 > >> +0x16c4 fp=0xc0424ddf48 sp=0xc0424dd798 > >> runtime.main() > >> C:/Go/src/runtime/proc.go:183 +0x1f0 fp=0xc0424ddfa0 > sp=0xc0424ddf48 > >> runtime.goexit() > >> C:/Go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc0424ddfa8 > >> sp=0xc0424ddfa0 > >> > >> goroutine 2 [force gc (idle), 8 minutes]: > >> runtime.gopark(0x534e98, 0x5ac210, 0x51c25d, 0xf, 0x534d14, 0x1) > >> C:/Go/src/runtime/proc.go:259 +0x14f fp=0xc04205ff28 > sp=0xc04205fef8 > >> runtime.goparkunlock(0x5ac210, 0x51c25d, 0xf, 0xc042058014, 0x1) > >> C:/Go/src/runtime/proc.go:265 +0x65 fp=0xc04205ff68 sp=0xc04205ff28 > >> runtime.forcegchelper() > >> C:/Go/src/runtime/proc.go:224 +0xb6 fp=0xc04205ffa0 sp=0xc04205ff68 > >> runtime.goexit() > >> C:/Go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc04205ffa8 > >> sp=0xc04205ffa0 > >> created by runtime.init.4 > >> C:/Go/src/runtime/proc.go:213 +0x3c > >> > >> goroutine 3 [GC sweep wait]: > >> runtime.gopark(0x534e98, 0x5ac3e0, 0x51bb3d, 0xd, 0x462c14, 0x1) > >> C:/Go/src/runtime/proc.go:259 +0x14f fp=0xc042061f18 > sp=0xc042061ee8 > >> runtime.goparkunlock(0x5ac3e0, 0x51bb3d, 0xd, 0x14, 0x1) > >> C:/Go/src/runtime/proc.go:265 +0x65 fp=0xc042061f58 sp=0xc042061f18 > >> runtime.bgsweep(0xc0420040e0) > >> C:/Go/src/runtime/mgcsweep.go:79 +0x13c fp=0xc042061f98 > >> sp=0xc042061f58 > >> runtime.goexit() > >> C:/Go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc042061fa0 > >> sp=0xc042061f98 > >> created by runtime.gcenable > >> C:/Go/src/runtime/mgc.go:195 +0x68 > >> > >> goroutine 4 [finalizer wait, 8 minutes]: > >> runtime.gopark(0x534e98, 0x5c6870, 0x51bf5c, 0xe, 0x14, 0x1) > >> C:/Go/src/runtime/proc.go:259 +0x14f fp=0xc04205bee8 > sp=0xc04205beb8 > >> runtime.goparkunlock(0x5c6870, 0x51bf5c, 0xe, 0x14, 0x1) > >> C:/Go/src/runtime/proc.go:265 +0x65 fp=0xc04205bf28 sp=0xc04205bee8 > >> runtime.runfinq() > >> C:/Go/src/runtime/mfinal.go:158 +0xc1 fp=0xc04205bfa0 > sp=0xc04205bf28 > >> runtime.goexit() > >> C:/Go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc04205bfa8 > >> sp=0xc04205bfa0 > >> created by runtime.createfing > >> C:/Go/src/runtime/mfinal.go:139 +0x7a > >> > >> goroutine 5 [chan receive, 8 minutes]: > >> runtime.gopark(0x534e98, 0xc042072298, 0x51b961, 0xc, 0x17, 0x3) > >> C:/Go/src/runtime/proc.go:259 +0x14f fp=0xc04205de60 > sp=0xc04205de30 > >> runtime.goparkunlock(0xc042072298, 0x51b961, 0xc, 0x17, 0x3) > >> C:/Go/src/runtime/proc.go:265 +0x65 fp=0xc04205dea0 sp=0xc04205de60 > >> runtime.chanrecv(0x4f1220, 0xc042072240, 0xc04205df80, 0x1, 0x0) > >> C:/Go/src/runtime/chan.go:496 +0x2ed fp=0xc04205df28 > sp=0xc04205dea0 > >> runtime.chanrecv2(0x4f1220, 0xc042072240, 0xc04205df80, 0x0) > >> C:/Go/src/runtime/chan.go:383 +0x35 fp=0xc04205df60 sp=0xc04205df28 > >> database/sql.(*DB).connectionOpener(0xc0420e4000) > >> C:/Go/src/database/sql/sql.go:727 +0x51 fp=0xc04205df98 > >> sp=0xc04205df60 > >> runtime.goexit() > >> C:/Go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc04205dfa0 > >> sp=0xc04205df98 > >> created by database/sql.Open > >> C:/Go/src/database/sql/sql.go:493 +0x1ec > >> > > -- > > You received this message because you are subscribed to the Google > Groups > > "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to golang-nuts...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.