m3ng9i/ran

[MacOS] Throws exception and aborts during the initialization

sujit opened this issue · 5 comments

sujit commented

The application (ran) throws back error during the initial execution itself on MacOS (Mojave 10.14). I've downloaded the Darwin binary from the GitHub releases page (https://github.com/m3ng9i/ran/releases/download/v0.1.3/ran_darwin_amd64.zip)

Following is the command which I am using to initialize my server on TCP/10000:

shasum /usr/local/bin/ran  # 9fc3975769259aedbcdb236ac5e3149d1f2babb1
chmod u+x /usr/local/bin/ran
ran -p 10000               # The exception logs are available in the next paragraph

Pasting the error logs which are throwing in STDOUT (shows immediately after program execution):

fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x14dd58fa3a4 pc=0x118850]

goroutine 1 [running]:
runtime.throw(0x43c760, 0x2a)
	D:/my_dev_tools/golang/go1.5.2/src/runtime/panic.go:527 +0x90 fp=0xc82003d8c8 sp=0xc82003d8b0
runtime.sigpanic()
	D:/my_dev_tools/golang/go1.5.2/src/runtime/sigpanic_unix.go:12 +0x5a fp=0xc82003d918 sp=0xc82003d8c8
sync.(*Pool).Get(0x5a3df0, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/sync/pool.go:101 +0x40 fp=0xc82003d968 sp=0xc82003d918
fmt.newPrinter(0x14629)
	D:/my_dev_tools/golang/go1.5.2/src/fmt/print.go:133 +0x27 fp=0xc82003d9a8 sp=0xc82003d968
fmt.Sprintf(0x3d89e0, 0xc, 0xc82003dae8, 0x2, 0x2, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/fmt/print.go:202 +0x2b fp=0xc82003d9f8 sp=0xc82003d9a8
main.getListeningAddr(0x0, 0x0, 0x0, 0x0, 0x0)
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/ran/ran.go:80 +0xac8 fp=0xc82003db70 sp=0xc82003d9f8
main.startLog()
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/ran/ran.go:113 +0x54b fp=0xc82003dd30 sp=0xc82003db70
main.main()
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/ran/ran.go:146 +0x2de fp=0xc82003df50 sp=0xc82003dd30
runtime.main()
	D:/my_dev_tools/golang/go1.5.2/src/runtime/proc.go:111 +0x2b0 fp=0xc82003dfa0 sp=0xc82003df50
runtime.goexit()
	D:/my_dev_tools/golang/go1.5.2/src/runtime/asm_amd64.s:1721 +0x1 fp=0xc82003dfa8 sp=0xc82003dfa0

goroutine 5 [syscall]:
os/signal.loop()
	D:/my_dev_tools/golang/go1.5.2/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
	D:/my_dev_tools/golang/go1.5.2/src/os/signal/signal_unix.go:28 +0x37

goroutine 6 [chan receive]:
github.com/m3ng9i/go-utils/log.(*Logger).start.func1(0xc820082080)
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/go-utils/log/log.go:324 +0xb3
created by github.com/m3ng9i/go-utils/log.(*Logger).start
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/go-utils/log/log.go:367 +0x35

goroutine 8 [runnable]:
syscall.Syscall(0x3, 0x3, 0xc8200e6850, 0x1000, 0x11e, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/syscall/asm_darwin_amd64.s:16 +0x5
syscall.read(0x3, 0xc8200e6850, 0x1000, 0x1000, 0x1401b2, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/syscall/zsyscall_darwin_amd64.go:972 +0x5f
syscall.Read(0x3, 0xc8200e6850, 0x1000, 0x1000, 0x3, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/syscall/syscall_unix.go:160 +0x4d
time.readFile(0x3d0920, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/time/sys_unix.go:34 +0x19b
time.loadZoneFile(0x0, 0x0, 0x3d0920, 0xe, 0x0, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/time/zoneinfo_read.go:206 +0x199
time.initLocal()
	D:/my_dev_tools/golang/go1.5.2/src/time/zoneinfo_unix.go:59 +0x77
sync.(*Once).Do(0x5c95b0, 0x46c238)
	D:/my_dev_tools/golang/go1.5.2/src/sync/once.go:44 +0xe4
time.(*Location).get(0x5a43c0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/time/zoneinfo.go:76 +0x58
time.Time.locabs(0xe7791f700, 0x0, 0x5a43c0, 0x0, 0x0, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/time/time.go:270 +0x131
time.Time.AppendFormat(0xe7791f700, 0x0, 0x5a43c0, 0xc8200e7c20, 0x0, 0x40, 0x4153c0, 0x1a, 0x0, 0x0, ...)
	D:/my_dev_tools/golang/go1.5.2/src/time/format.go:438 +0x65
time.Time.Format(0xe7791f700, 0x0, 0x5a43c0, 0x4153c0, 0x1a, 0x0, 0x0)
	D:/my_dev_tools/golang/go1.5.2/src/time/format.go:430 +0xf2
github.com/m3ng9i/go-utils/log.(*Logger).msg2bytes(0xc820082380, 0xc82000b560, 0x29, 0xe7791f700, 0x0, 0x5a43c0, 0x2, 0x0, 0x0, 0x0)
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/go-utils/log/log.go:437 +0xec
github.com/m3ng9i/go-utils/log.(*Logger).start.func1(0xc820082380)
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/go-utils/log/log.go:364 +0x80f
created by github.com/m3ng9i/go-utils/log.(*Logger).start
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/go-utils/log/log.go:367 +0x35

goroutine 9 [select, locked to thread]:
runtime.gopark(0x46bfe8, 0xc820029728, 0x3cd670, 0x6, 0x18, 0x2)
	D:/my_dev_tools/golang/go1.5.2/src/runtime/proc.go:185 +0x163
runtime.selectgoImpl(0xc820029728, 0x0, 0x18)
	D:/my_dev_tools/golang/go1.5.2/src/runtime/select.go:392 +0xa64
runtime.selectgo(0xc820029728)
	D:/my_dev_tools/golang/go1.5.2/src/runtime/select.go:212 +0x12
runtime.ensureSigM.func1()
	D:/my_dev_tools/golang/go1.5.2/src/runtime/signal1_unix.go:227 +0x323
runtime.goexit()
	D:/my_dev_tools/golang/go1.5.2/src/runtime/asm_amd64.s:1721 +0x1

goroutine 10 [chan receive]:
main.catchSignal.func1(0xc8200163c0)
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/ran/ran.go:19 +0x68
created by main.catchSignal
	d:/my_dropbox/Dropbox/program/projects/go_library/src/github.com/m3ng9i/ran/ran.go:24 +0x242

How about try another port?
Have you tried build the binary from the source?

sujit commented

Hey m3ng9i,
Thanks for having a look at it initially. Well, I've tried with arbitrary ports as well and its all the same error message every time.

And to answer your second question, its a No. I didn't build the source but rather I've downloaded the compiled Mac binary from the release page directly and did chmod with +x to give execute permission before the process execution. Having said that, I don't see any issues at all with the Linux binaries though. They all run flawless.

Thanks for the feedback.
Because I'm busy with another work now, I'll check this later.
My plan is to do some update and build the binary under the newest version of Go.
I will tell you here after the work is done.

ran v0.1.4 is released, try the new version: https://github.com/m3ng9i/ran/releases

sujit commented

Works perfect!! Thanks for fixing. :)