janimo / textsecure-qml

TextSecure UI in Go and QML
GNU General Public License v3.0
44 stars 5 forks source link

Crash when trying to send a message #9

Closed mzanetti closed 9 years ago

mzanetti commented 9 years ago

I've installed textsecure from the Ubuntu app store (0.2.0), set up a new account at textsecure, imported the complete address book and wanted to start texting. Every time I hit the send button the app crashes. Here's the log:

phablet@ubuntu-phablet:~$ cat .cache/upstart/application-click-textsecure.jani_textsecure_0.2.0.log libust[18439/18444]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18444]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18443]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18443]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0' libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) UbuntuWindow - regular geometry libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) phablet@ubuntu-phablet:~$ cat .cache/upstart/application-click-textsecure.jani_textsecure_0.2.0.log libust[18439/18444]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18444]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18443]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18443]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0' libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) UbuntuWindow - regular geometry libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18471]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:958) libust[18439/18472]: Error: Error opening shm /lttng-ust-wait-5-32011 (in get_wait_shm() at lttng-ust-comm.c:958) panic: runtime error: invalid memory address or nil pointer dereference [signal 0xb code=0x1 addr=0x0 pc=0xe8680]

goroutine 1 [running, locked to thread]: github.com/janimo/textsecure.makePreKeyBundle(0x93de1f20, 0xd, 0xc, 0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure/server.go:284 +0x300 github.com/janimo/textsecure.buildMessage(0x93d81d80, 0x0, 0x0, 0x0, 0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure/server.go:325 +0x16c github.com/janimo/textsecure.sendMessage(0x93d81d80, 0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure/server.go:359 +0x5c github.com/janimo/textsecure.SendMessage(0x93de1f20, 0xd, 0x93de1f30, 0x4, 0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure/textsecure.go:108 +0xb4 main.(*textsecureAPI).SendMessage(0x5c7dee, 0x93de1f20, 0xd, 0x93de1f30, 0x4, 0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure-qml/main.go:160 +0xac reflect.Value.call(0x3effc0, 0x5c7dee, 0x713, 0x415b60, 0x4, 0x93dade10, 0x2, 0xa, 0x0, 0x0, ...) /usr/lib/go/src/reflect/value.go:373 +0xe90 reflect.Value.Call(0x3effc0, 0x5c7dee, 0x713, 0x93dade10, 0x2, 0xa, 0x0, 0x0, 0x0) /usr/lib/go/src/reflect/value.go:296 +0x94 gopkg.in/qml%2ev1.hookGoValueCallMethod(0x6aaeb0, 0x93d5c4b0, 0x3, 0xbeae7edc) /home/developer/gopath/src/gopkg.in/qml.v1/bridge.go:515 +0x468 gopkg.in/qml%2ev1._Cfunc_applicationExec() /home/developer/gopath/src/gopkg.in/qml.v1/:59 +0x4c gopkg.in/qml%2ev1.Run(0x4a9654, 0x0, 0x0) /home/developer/gopath/src/gopkg.in/qml.v1/bridge.go:63 +0x20c main.main() /home/developer/gopath/src/github.com/janimo/textsecure-qml/main.go:142 +0x184

goroutine 17 [syscall, locked to thread]: runtime.goexit() /usr/lib/go/src/runtime/asm_arm.s:1322 +0x4

goroutine 5 [semacquire]: sync.(_Mutex).Lock(0x93d3ca90) /usr/lib/go/src/sync/mutex.go:66 +0xf8 gopkg.in/qml%2ev1.(_Window).Wait(0x93d4e5e8) /home/developer/gopath/src/gopkg.in/qml.v1/qml.go:911 +0xe0 main.runUI(0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure-qml/main.go:206 +0x160 gopkg.in/qml%2ev1.func·002() /home/developer/gopath/src/gopkg.in/qml.v1/bridge.go:60 +0x44 created by gopkg.in/qml%2ev1.Run /home/developer/gopath/src/gopkg.in/qml.v1/bridge.go:62 +0x204

goroutine 6 [sleep]: main.updateTimestamps() /home/developer/gopath/src/github.com/janimo/textsecure-qml/models.go:170 +0x2c created by main.initModels /home/developer/gopath/src/github.com/janimo/textsecure-qml/models.go:191 +0x124

goroutine 8 [IO wait]: net.(_pollDesc).Wait(0x93d78bb8, 0x72, 0x0, 0x0) /usr/lib/go/src/net/fd_poll_runtime.go:84 +0x3c net.(_pollDesc).WaitRead(0x93d78bb8, 0x0, 0x0) /usr/lib/go/src/net/fd_poll_runtime.go:89 +0x38 net.(_netFD).Read(0x93d78b80, 0x93d5f400, 0x400, 0x400, 0x0, 0x83c02af8, 0x93de16e8) /usr/lib/go/src/net/fd_unix.go:242 +0x390 net.(_conn).Read(0x93d4e4d8, 0x93d5f400, 0x400, 0x400, 0x0, 0x0, 0x0) /usr/lib/go/src/net/net.go:121 +0xc8 crypto/tls.(_block).readFromUntil(0x93d80860, 0x83c04240, 0x93d4e4d8, 0x5, 0x0, 0x0) /usr/lib/go/src/crypto/tls/conn.go:454 +0xe8 crypto/tls.(_Conn).readRecord(0x93de2000, 0x17, 0x0, 0x0) /usr/lib/go/src/crypto/tls/conn.go:539 +0x248 crypto/tls.(_Conn).Read(0x93de2000, 0x93ded000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/lib/go/src/crypto/tls/conn.go:904 +0x160 bufio.(_Reader).fill(0x93d5d1a0) /usr/lib/go/src/bufio/bufio.go:97 +0x1d8 bufio.(_Reader).ReadByte(0x93d5d1a0, 0x3e4888, 0x0, 0x0) /usr/lib/go/src/bufio/bufio.go:196 +0xa0 golang.org/x/net/websocket.hybiFrameReaderFactory.NewFrameReader(0x93d5d1a0, 0x83c046b0, 0x93d79140, 0x0, 0x0) /home/developer/gopath/src/golang.org/x/net/websocket/hybi.go:126 +0xb4 golang.org/x/net/websocket.Codec.Receive(0x4a95cc, 0x4a95d0, 0x93d42a50, 0x3742f8, 0x93de1710, 0x0, 0x0) /home/developer/gopath/src/golang.org/x/net/websocket/websocket.go:314 +0x198 github.com/janimo/textsecure.(_wsConn).receive(0x93de16f0, 0x0, 0x0, 0x0, 0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure/websocket.go:107 +0x84 github.com/janimo/textsecure.StartListening(0x0, 0x0) /home/developer/gopath/src/github.com/janimo/textsecure/websocket.go:186 +0x158 main.runBackend() /home/developer/gopath/src/github.com/janimo/textsecure-qml/main.go:132 +0x210 created by main.runUI /home/developer/gopath/src/github.com/janimo/textsecure-qml/main.go:205 +0x14c

goroutine 13 [sleep]: github.com/janimo/textsecure.(*wsConn).keepAlive(0x93de16f0) /home/developer/gopath/src/github.com/janimo/textsecure/websocket.go:149 +0x144 created by github.com/janimo/textsecure.StartListening /home/developer/gopath/src/github.com/janimo/textsecure/websocket.go:183 +0x144

goroutine 11 [runnable]: net/http.(_persistConn).readLoop(0x93d66360) /usr/lib/go/src/net/http/transport.go:941 +0x8e8 created by net/http.(_Transport).dialConn /usr/lib/go/src/net/http/transport.go:645 +0xba0

goroutine 12 [select]: net/http.(_persistConn).writeLoop(0x93d66360) /usr/lib/go/src/net/http/transport.go:945 +0x320 created by net/http.(_Transport).dialConn /usr/lib/go/src/net/http/transport.go:645 +0xbc8

janimo commented 9 years ago

Does this happen regardless of the contact you are trying to message?

mzanetti commented 9 years ago

hmm... seems it doesn't. Don't have that many contacts using TextSecure available. Found one that doesn't crash tho.

janimo commented 9 years ago

Before initiating a session we query the server for that contact's info. For some contacts that may be stale we get empty info, but access it nonetheless, resulting in a panic. Please check if 0.2.1 displays a more useful error for the contact it crashed on.

mzanetti commented 9 years ago

Hmm... 0.2.1 doesn't crash any more on the same contacts. I've checked the log, there's nothing printed (except the lttng warnings that all apps print repeatedly)

janimo commented 9 years ago

I'll leave this open since I could see this error with my local test server a few times. If it occurs on the official server it's likely a bug I need to fix and not server misconfiguration. Contacts unregistering/reregistering may result in such errors.

On Tue, Sep 8, 2015 at 10:43 AM, mzanetti notifications@github.com wrote:

Hmm... 0.2.1 doesn't crash any more on the same contacts. I've checked the log, there's nothing printed (except the lttng warnings that all apps print repeatedly)

— Reply to this email directly or view it on GitHub https://github.com/janimo/textsecure-qml/issues/9#issuecomment-138463903 .