Skip to content

Commit d693310

Browse files
authored
fix: process panic recover correctly in duplex conn (#94)
1 parent 3e52808 commit d693310

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
github.com/golang/mock v1.4.3
77
github.com/google/uuid v1.1.2
88
github.com/gorilla/websocket v1.4.2
9-
github.com/jjeffcaii/reactor-go v0.4.4
9+
github.com/jjeffcaii/reactor-go v0.4.5
1010
github.com/pkg/errors v0.9.1
1111
github.com/pkg/profile v1.5.0
1212
github.com/stretchr/testify v1.6.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
1010
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1111
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
1212
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
13-
github.com/jjeffcaii/reactor-go v0.4.4 h1:s5zOwQ7hut6ICL/jucFoHiAwDx/ugOJpS/Ncp8Cc4Ko=
14-
github.com/jjeffcaii/reactor-go v0.4.4/go.mod h1:2ZzeNFnQ2c55NHRh0KJ4k5yMvmrcpx1APzh7BKkRNQE=
13+
github.com/jjeffcaii/reactor-go v0.4.5 h1:FOc3ICOIxPHzJBLYmA6Hf1jpPduX0Czzh4i62Wz17A4=
14+
github.com/jjeffcaii/reactor-go v0.4.5/go.mod h1:2ZzeNFnQ2c55NHRh0KJ4k5yMvmrcpx1APzh7BKkRNQE=
1515
github.com/panjf2000/ants/v2 v2.4.3 h1:wHghL17YKFanB62QjPQ9o+DuM4q7WrQ7zAhoX8+eBXU=
1616
github.com/panjf2000/ants/v2 v2.4.3/go.mod h1:f6F0NZVFsGCp5A7QW/Zj/m92atWwOkY0OIhFxRNFr4A=
1717
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=

internal/socket/duplex.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ func (dc *DuplexConnection) respondRequestResponse(receiving fragmentation.Heade
523523
if e, ok := rec.(error); ok {
524524
err = errors.WithStack(e)
525525
} else {
526-
err = errors.Errorf("%v", e)
526+
err = errors.Errorf("%v", rec)
527527
}
528528
logger.Errorf("handle request-response failed: %+v\n", err)
529529
}()
@@ -618,7 +618,7 @@ func (dc *DuplexConnection) respondRequestChannel(req fragmentation.HeaderAndPay
618618
if e, ok := rec.(error); ok {
619619
err = errors.WithStack(e)
620620
} else {
621-
err = errors.Errorf("%v", e)
621+
err = errors.Errorf("%v", rec)
622622
}
623623
logger.Errorf("handle request-channel failed: %+v\n", err)
624624
}()
@@ -672,7 +672,7 @@ func (dc *DuplexConnection) respondMetadataPush(input core.BufferedFrame) error
672672
if e, ok := rec.(error); ok {
673673
err = errors.WithStack(e)
674674
} else {
675-
err = errors.Errorf("%v", e)
675+
err = errors.Errorf("%v", rec)
676676
}
677677
logger.Errorf("handle metadata-push failed: %+v\n", err)
678678
}()
@@ -701,7 +701,7 @@ func (dc *DuplexConnection) respondFireAndForget(receiving fragmentation.HeaderA
701701
if e, ok := rec.(error); ok {
702702
err = errors.WithStack(e)
703703
} else {
704-
err = errors.Errorf("%v", e)
704+
err = errors.Errorf("%v", rec)
705705
}
706706
logger.Errorf("handle fire-and-forget failed: %+v\n", err)
707707
}()
@@ -733,7 +733,7 @@ func (dc *DuplexConnection) respondRequestStream(receiving fragmentation.HeaderA
733733
if e, ok := rec.(error); ok {
734734
err = errors.WithStack(e)
735735
} else {
736-
err = errors.Errorf("%v", err)
736+
err = errors.Errorf("%v", rec)
737737
}
738738
logger.Errorf("handle request-stream failed: %+v\n", err)
739739
}()

0 commit comments

Comments
 (0)