runtime error: invalid memory address

86 views
Skip to first unread message

davetw...@gmail.com

unread,
Mar 26, 2020, 5:54:16 PM3/26/20
to golang-nuts
Hey guys,

I'm pretty new to Golang and encountering a runtime error which I'm not able to fix.

Need help guys!

********************************************************************************Error*******************************************************************************************
020/03/26 22:55:04 http: panic serving [::1]:41498: runtime error: invalid memory address or nil pointer dereference
goroutine 6 [running]:
net/http.(*conn).serve.func1(0xc000099040)
/usr/local/go/src/net/http/server.go:1767 +0x139
panic(0x7815e0, 0xabef60)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
text/template.errRecover(0xc000054b30)
/usr/local/go/src/text/template/exec.go:164 +0x1cb
panic(0x7815e0, 0xabef60)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
text/template.(*Template).execute(0x0, 0x867380, 0xc0000d20e0, 0x7a01e0, 0xc00000e2e0, 0x0, 0x0)
/usr/local/go/src/text/template/exec.go:218 +0x1c1
text/template.(*Template).Execute(...)
/usr/local/go/src/text/template/exec.go:204
main.Index(0x86d0c0, 0xc0000d20e0, 0xc000114000)
/home/dave/Go_workstation/src/web_calss/main.go:22 +0x11d
net/http.HandlerFunc.ServeHTTP(0x802840, 0x86d0c0, 0xc0000d20e0, 0xc000114000)
/usr/local/go/src/net/http/server.go:2007 +0x44
net/http.(*ServeMux).ServeHTTP(0xaceda0, 0x86d0c0, 0xc0000d20e0, 0xc000114000)
/usr/local/go/src/net/http/server.go:2387 +0x1bd
net/http.serverHandler.ServeHTTP(0xc0000d2000, 0x86d0c0, 0xc0000d20e0, 0xc000114000)
/usr/local/go/src/net/http/server.go:2802 +0xa4
net/http.(*conn).serve(0xc000099040, 0x86d980, 0xc000068380)
/usr/local/go/src/net/http/server.go:1890 +0x875
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2928 +0x384
2020/03/26 22:55:04 http: panic serving [::1]:41500: runtime error: invalid memory address or nil pointer dereference
goroutine 18 [running]:
net/http.(*conn).serve.func1(0xc0000ee000)
/usr/local/go/src/net/http/server.go:1767 +0x139
panic(0x7815e0, 0xabef60)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
text/template.errRecover(0xc000107b30)
/usr/local/go/src/text/template/exec.go:164 +0x1cb
panic(0x7815e0, 0xabef60)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
text/template.(*Template).execute(0x0, 0x867380, 0xc000148000, 0x7a01e0, 0xc0000fc020, 0x0, 0x0)
/usr/local/go/src/text/template/exec.go:218 +0x1c1
text/template.(*Template).Execute(...)
/usr/local/go/src/text/template/exec.go:204
main.Index(0x86d0c0, 0xc000148000, 0xc000110000)
/home/dave/Go_workstation/src/web_calss/main.go:22 +0x11d
net/http.HandlerFunc.ServeHTTP(0x802840, 0x86d0c0, 0xc000148000, 0xc000110000)
/usr/local/go/src/net/http/server.go:2007 +0x44
net/http.(*ServeMux).ServeHTTP(0xaceda0, 0x86d0c0, 0xc000148000, 0xc000110000)
/usr/local/go/src/net/http/server.go:2387 +0x1bd
net/http.serverHandler.ServeHTTP(0xc0000d2000, 0x86d0c0, 0xc000148000, 0xc000110000)
/usr/local/go/src/net/http/server.go:2802 +0xa4
net/http.(*conn).serve(0xc0000ee000, 0x86d980, 0xc0000f2000)
/usr/local/go/src/net/http/server.go:1890 +0x875
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2928 +0x384
2020/03/26 22:55:04 http: panic serving [::1]:41502: runtime error: invalid memory address or nil pointer dereference
goroutine 8 [running]:
net/http.(*conn).serve.func1(0xc000099180)
/usr/local/go/src/net/http/server.go:1767 +0x139
panic(0x7815e0, 0xabef60)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
text/template.errRecover(0xc000054b30)
/usr/local/go/src/text/template/exec.go:164 +0x1cb
panic(0x7815e0, 0xabef60)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
text/template.(*Template).execute(0x0, 0x867380, 0xc0001480e0, 0x7a01e0, 0xc0000fc060, 0x0, 0x0)
/usr/local/go/src/text/template/exec.go:218 +0x1c1
text/template.(*Template).Execute(...)
/usr/local/go/src/text/template/exec.go:204
main.Index(0x86d0c0, 0xc0001480e0, 0xc000114100)
/home/dave/Go_workstation/src/web_calss/main.go:22 +0x11d
net/http.HandlerFunc.ServeHTTP(0x802840, 0x86d0c0, 0xc0001480e0, 0xc000114100)
/usr/local/go/src/net/http/server.go:2007 +0x44
net/http.(*ServeMux).ServeHTTP(0xaceda0, 0x86d0c0, 0xc0001480e0, 0xc000114100)
/usr/local/go/src/net/http/server.go:2387 +0x1bd
net/http.serverHandler.ServeHTTP(0xc0000d2000, 0x86d0c0, 0xc0001480e0, 0xc000114100)
/usr/local/go/src/net/http/server.go:2802 +0xa4
net/http.(*conn).serve(0xc000099180, 0x86d980, 0xc000068500)
/usr/local/go/src/net/http/server.go:1890 +0x875
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2928 +0x384


Please see the following code 
*******************************************************************************Code********************************************************************************************
package main

import (
"net/http"
"text/template"
"web_calss/controllers/demo_controller"
)

func main() {
http.HandleFunc("/", Index)
// http.HandleFunc("/demo/index", Index)
http.ListenAndServe(":8000", nil)
}

func Index(w http.ResponseWriter, r *http.Request) {

tmplt, _ := template.ParseFiles("views/demo_controller.index.html")
data := demo_controller.Data{
Age: 27,
Username: "davetweetlive",
}
tmplt.Execute(w, data)
}

Ian Lance Taylor

unread,
Mar 26, 2020, 6:21:31 PM3/26/20
to davetw...@gmail.com, golang-nuts
Check the error returned by template.ParseFiles.

Always check error returns.

Ian
> --
> 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.
> To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/e22823c0-f8b3-4261-805e-70038f80da76%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages