mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 00:05:55 +03:00
[GH-ISSUE #103] librespot crashes - main thread panic #93
Labels
No labels
A-Alsa
SpotifyAPI
Tokio 1.0
audio
bug
can't reproduce
compilation
dependencies
duplicate
enhancement
good first issue
help wanted
high priority
imported
imported
invalid
new api
pull-request
question
reverse engineering
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot#93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sashahilton00 on GitHub (Jan 29, 2018).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/103
Monday Jan 22, 2018 at 20:10 GMT
Originally opened as https://github.com/plietar/librespot/issues/273
librespot crashes with such error message:
INFO:librespot::player: Track "Sweet Pea" loaded
thread 'main' panicked at 'Box', core/src/session.rs:83:42
note: Run with
RUST_BACKTRACE=1for a backtrace.It happened after long idle (paused) time.
I have raspbian wheezy
raspotify 0.9.1~librespot.20171005T125424Z.8971d3a
@sashahilton00 commented on GitHub (Jan 29, 2018):
Monday Jan 22, 2018 at 20:52 GMT
I would suggest you run RUST_BACKTRACE=1 and provide the backtrace.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 19:16 GMT
Here is a backtrace, but app crashes in different place:
INFO:librespot::player: Track "Magic Wind" loaded
thread 'main' panicked at 'connection closed', /checkout/src/libcore/option.rs:819:4
stack backtrace:
0:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16: __libc_start_main
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 19:23 GMT
Raspotify seem to have decided to strip the binary. That's not helpful.
@ComlOnline commented on GitHub (Jan 29, 2018):
Following a conversation with the dev of raspotify he was going to release a new version based on this fork. I'd wait for that and try again.
@ComlOnline commented on GitHub (Jan 29, 2018):
Just checked he's already done it: https://github.com/dtcooper/raspotify/releases/tag/0.10
Try to cause the error again and let us know
@sashahilton00 commented on GitHub (Jan 29, 2018):
This issue is still present, I had it this morning. It's like he said, it crops up after no music has been playing for a while (and potentially internet has disconnected/reconnected). I'll run with a backtrace later and see if i can get a trace.
@sashahilton00 commented on GitHub (Jan 29, 2018):
@kingosticks @ComlOnline here is a backtrace for this issue. I triggered it by playing a song through librespot, then disconnecting the internet and waiting for the buffered music to finish playing. What looks to happen is at the end of the song, the track load is called, and since it is disconnected, the session is dropped, and this is not handled. Full trace below:
@michalfita commented on GitHub (Feb 6, 2018):
I can add this happens when connection to the Internet is dropped (router up, but DSL dies).
Would it be at least possible that the process:
really dies on crash, so
systemdcould restart it?If it's fixed, we need to wait for next release of
raspotify.@awiouy commented on GitHub (Feb 8, 2018):
From
This method will not catch panics from polling the future f. If the future panics then it's the responsibility of the caller to catch that panic and handle it as appropriate.
Is that done in session.rs? If so, where? If not, where should it be done and what should it do?
@sashahilton00 commented on GitHub (Feb 9, 2018):
I'm not sure where this is implemented exactly, as I haven't looked at the code that handles this, but it's my understanding that the session logic is due for a rewrite to enable handling of things like reconnection, as it has been mentioned several times in the past, most recently by @plietar in Gitter on Feb 8:
Hence, I've created #134 to track suggestions/improvements that can be made to the existing session logic, or in a rewrite of it.
@plietar commented on GitHub (Feb 14, 2018):
Since this is just a re-connection issue I'm going to close in favour of #134