mirror of
https://github.com/minio/minio.git
synced 2024-12-25 22:55:54 -05:00
More changes to probe to avoid nil dereferences
This commit is contained in:
parent
a096913dde
commit
884e9771b2
@ -78,6 +78,10 @@ func New(e error) *Error {
|
|||||||
// Trace records the point at which it is invoked. Stack traces are important for
|
// Trace records the point at which it is invoked. Stack traces are important for
|
||||||
// debugging purposes.
|
// debugging purposes.
|
||||||
func (e *Error) Trace(fields ...string) *Error {
|
func (e *Error) Trace(fields ...string) *Error {
|
||||||
|
if e == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
e.lock.Lock()
|
e.lock.Lock()
|
||||||
defer e.lock.Unlock()
|
defer e.lock.Unlock()
|
||||||
|
|
||||||
@ -103,6 +107,9 @@ func (e *Error) trace(fields ...string) *Error {
|
|||||||
|
|
||||||
// Untrace erases last trace entry.
|
// Untrace erases last trace entry.
|
||||||
func (e *Error) Untrace() {
|
func (e *Error) Untrace() {
|
||||||
|
if e == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
e.lock.Lock()
|
e.lock.Lock()
|
||||||
defer e.lock.Unlock()
|
defer e.lock.Unlock()
|
||||||
|
|
||||||
@ -116,14 +123,21 @@ func (e *Error) Untrace() {
|
|||||||
|
|
||||||
// Error returns error string.
|
// Error returns error string.
|
||||||
func (e *Error) Error() string {
|
func (e *Error) Error() string {
|
||||||
|
if e == nil {
|
||||||
|
return "<nil>"
|
||||||
|
}
|
||||||
return e.String()
|
return e.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
// String returns error message.
|
// String returns error message.
|
||||||
func (e *Error) String() string {
|
func (e *Error) String() string {
|
||||||
|
if e == nil {
|
||||||
|
return "<nil>"
|
||||||
|
}
|
||||||
e.lock.RLock()
|
e.lock.RLock()
|
||||||
defer e.lock.RUnlock()
|
defer e.lock.RUnlock()
|
||||||
|
|
||||||
|
if e.e != nil {
|
||||||
trace := e.e.Error() + "\n"
|
trace := e.e.Error() + "\n"
|
||||||
for i, tp := range e.tracePoints {
|
for i, tp := range e.tracePoints {
|
||||||
if len(tp.Env) > 0 {
|
if len(tp.Env) > 0 {
|
||||||
@ -141,10 +155,16 @@ func (e *Error) String() string {
|
|||||||
trace += "Heap:" + e.sysInfo["mem.heap.used"] + "/" + e.sysInfo["mem.heap.total"]
|
trace += "Heap:" + e.sysInfo["mem.heap.used"] + "/" + e.sysInfo["mem.heap.total"]
|
||||||
|
|
||||||
return trace
|
return trace
|
||||||
|
}
|
||||||
|
return "<nil>"
|
||||||
}
|
}
|
||||||
|
|
||||||
// JSON returns JSON formated error trace.
|
// JSON returns JSON formated error trace.
|
||||||
func (e *Error) JSON() string {
|
func (e *Error) JSON() string {
|
||||||
|
if e == nil {
|
||||||
|
return "<nil>"
|
||||||
|
}
|
||||||
|
|
||||||
e.lock.RLock()
|
e.lock.RLock()
|
||||||
defer e.lock.RUnlock()
|
defer e.lock.RUnlock()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user