Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Falls stream, with the process still running #596

Closed
Yukioru opened this issue Aug 14, 2018 · 41 comments
Closed

Falls stream, with the process still running #596

Yukioru opened this issue Aug 14, 2018 · 41 comments
Assignees
Labels

Comments

@Yukioru
Copy link

Yukioru commented Aug 14, 2018

The problem is that after a certain time (usually a day or two), the stream falls and is not available for listening at the icecast, but the liquidsoap process itself works.

Logs also stop writing.
The problem is noticed when the track / jingle changes.

It was found that the stream falls when the crossfade (joshcross) is included along with the jingles. When you disable the crossfade, everything works.

It was tested on the release version of opam with the compiler ocaml 4.06.0, with faad, mm, dtools and liquidsoap from the master branch.

config: config.liq.txt
utils: utils.liq.txt
logs: liquidsoap.log.txt

In some tracks, sometimes -NaNdb is analyzed.

2018/08/12 23:25:24 [smart_cross_5951:3] Analysis: -nandB / -14.357515dB (5.03s / 1.97s)

Some work has been done in another topic: #572 (comment)

@toots
Copy link
Member

toots commented Aug 14, 2018

Thanks! One more question: does the process still react when you do ctrl+c on it or try to connect through telnet?

@toots
Copy link
Member

toots commented Aug 14, 2018

Could you also send me the file jingles/sg_preview.m4a on my email: toots@rastageeks.org? Thks!

@Niall7459
Copy link

Just a suggestion but maybe it’s a flaw in the crossfading where the streams stops in between song changes instead of crossfading if you know what I mean. So it’s disconnected from icecast because the source ended but liquidsoap is still generating a stream.

You could try something similar such as output.sdl() for audio though and observed that. If @toots could confirm that function for me

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

@toots
#596 (comment) - Has sent on email.
#596 (comment) - Have not tried to connect via telnet. I'm going to try now.

@toots
Copy link
Member

toots commented Aug 15, 2018

Hi! So, in the process of reviewing the smartcross code I actually ended up cleaning it in a way that changes the fundamentals of the algorithm and has a slight chance of fixing your issue. Would you mind trying it? It shouldn't be too hard to do:

git clone git@github.com:savonet/liquidsoap.git
cd liquidsoap
opam pin add .

Thks!

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

Ok.

@toots toots self-assigned this Aug 15, 2018
@toots toots added the bug label Aug 15, 2018
@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

@toots
The result is the same. Stream fell quickly.

2018/08/15 16:29:05 [buffer_15391:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:05 [source:4] Source buffer_15391 gets down.
2018/08/15 16:29:08 [smart_cross_5951_before:4] End of track.
2018/08/15 16:29:08 [smart_cross_5951_before:4] Buffer emptied, buffering needed.
2018/08/15 16:29:13 [source:4] Garbage collected add_15379.
2018/08/15 16:29:13 [source:4] Garbage collected fade_in_15378.
2018/08/15 16:29:13 [source:4] Garbage collected fade_out_15377.
2018/08/15 16:29:13 [source:4] Garbage collected smart_cross_5951_after.
2018/08/15 16:29:13 [source:4] Garbage collected buffer_15335.
2018/08/15 16:29:13 [source:4] Garbage collected smart_cross_5951_before.
2018/08/15 16:32:51 [decoder:4] Trying method "MP4" for "/radio/collection/music/Just_A_Way_You_Are.m4a"...
2018/08/15 16:32:51 [decoder.mp4:4] Libfaad recognizes "/radio/collection/music/Just_A_Way_You_Are.m4a" as MP4 (44100Hz,2 channels).
2018/08/15 16:32:51 [decoder:3] Method "MP4" accepted "/radio/collection/music/Just_A_Way_You_Are.m4a".
2018/08/15 16:32:51 [music:4] Remaining: 10.0s, queued: 0.0s, adding: 30.0s (RID 1)
2018/08/15 16:32:56 [smart_cross_5951:4] Buffering end of track...
2018/08/15 16:32:56 [smart_cross_5951:4] More buffering will be needed.
2018/08/15 16:33:02 [decoder:4] Decoding "/radio/collection/music/Houyou_Sekai.m4a" ended: Aac_decoder.Make_mp4(Generator).End_of_track.
2018/08/15 16:33:02 [music:3] Finished with "/radio/collection/music/Houyou_Sekai.m4a".
2018/08/15 16:33:02 [music:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s
2018/08/15 16:33:02 [music:3] Prepared "/radio/collection/music/Just_A_Way_You_Are.m4a" (RID 1).
2018/08/15 16:33:02 [rotate_5949:3] Switch to mksafe with forgetful transition.
2018/08/15 16:33:02 [mksafe:4] Activations changed: static=[], dynamic=[rotate_5949:smart_cross_5951].
2018/08/15 16:33:02 [mksafe:4] Activations changed: static=[rotate_5949:smart_cross_5951], dynamic=[rotate_5949:smart_cross_5951].

@toots
Copy link
Member

toots commented Aug 15, 2018

Well at least now we won't have to wait 8h each time ;-) Can you send a full log of the transition? Thks!

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

Maybe you need to add more logs in the smartcross statement?

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

#596 (comment)

2018/08/15 16:25:32 [source:4] Garbage collected empty_15333.
2018/08/15 16:25:32 [source:4] Garbage collected add_15326.
2018/08/15 16:25:32 [source:4] Garbage collected smart_cross_5951_after.
2018/08/15 16:25:32 [source:4] Garbage collected buffer_15278.
2018/08/15 16:25:32 [source:4] Garbage collected smart_cross_5951_before.
2018/08/15 16:25:33 [smart_cross_5951_before:4] End of track.
2018/08/15 16:25:33 [smart_cross_5951_before:4] Buffer emptied, buffering needed.
2018/08/15 16:28:54 [decoder:4] Trying method "MP4" for "/radio/collection/music/Houyou_Sekai.m4a"...
2018/08/15 16:28:54 [decoder.mp4:4] Libfaad recognizes "/radio/collection/music/Houyou_Sekai.m4a" as MP4 (44100Hz,2 channels).
2018/08/15 16:28:54 [decoder:3] Method "MP4" accepted "/radio/collection/music/Houyou_Sekai.m4a".
2018/08/15 16:28:54 [music:4] Remaining: 10.0s, queued: 0.0s, adding: 30.0s (RID 0)
2018/08/15 16:28:59 [smart_cross_5951:4] Buffering end of track...
2018/08/15 16:28:59 [smart_cross_5951:4] More buffering will be needed.
2018/08/15 16:29:03 [decoder:4] Decoding "/radio/collection/music/Wiseman_no_Theme.m4a" ended: Aac_decoder.Make_mp4(Generator).End_of_track.
2018/08/15 16:29:03 [music:3] Finished with "/radio/collection/music/Wiseman_no_Theme.m4a".
2018/08/15 16:29:03 [music:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s
2018/08/15 16:29:03 [music:3] Prepared "/radio/collection/music/Houyou_Sekai.m4a" (RID 0).
2018/08/15 16:29:03 [smart_cross_5951:3] Analysis: -nandB / -24.291731dB (5.03s / 1.97s)
2018/08/15 16:29:03 [joshcross:4] Before: ("album","Wiseman no Theme")
2018/08/15 16:29:03 [joshcross:4] Before: ("date","2018")
2018/08/15 16:29:03 [joshcross:4] Before: ("track","1")
2018/08/15 16:29:03 [joshcross:4] Before: ("disc","1")
2018/08/15 16:29:03 [joshcross:4] Before: ("kind","{audio=2;video=0;midi=0}")
2018/08/15 16:29:03 [joshcross:4] Before: ("artist","Wiseman")
2018/08/15 16:29:03 [joshcross:4] Before: ("decoder","MP4")
2018/08/15 16:29:03 [joshcross:4] Before: ("title","Wiseman no Theme")
2018/08/15 16:29:03 [joshcross:4] Before: ("filename","/radio/collection/music/Wiseman_no_Theme.m4a")
2018/08/15 16:29:03 [joshcross:4] Before: ("temporary","false")
2018/08/15 16:29:03 [joshcross:4] Before: ("source","music")
2018/08/15 16:29:03 [joshcross:4] Before: ("initial_uri","/radio/collection/music/Wiseman_no_Theme.m4a")
2018/08/15 16:29:03 [joshcross:4] Before: ("totaltracks","5")
2018/08/15 16:29:03 [joshcross:4] Before: ("playlist_length","92")
2018/08/15 16:29:03 [joshcross:4] Before: ("status","playing")
2018/08/15 16:29:03 [joshcross:4] Before: ("totaldiscs","1")
2018/08/15 16:29:03 [joshcross:4] Before: ("tool","qaac 2.65, CoreAudioToolbox 7.10.9.0, AAC-LC Encoder, CVBR 256kbps, Quality 96")
2018/08/15 16:29:03 [joshcross:4] Before: ("writer","Kaoru Okubo")
2018/08/15 16:29:03 [joshcross:4] Before: ("itunsmpb","00000000 00000840 00000278 0000000000947D48 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000")
2018/08/15 16:29:03 [joshcross:4] Before: ("on_air","2018/08/15 16:25:28")
2018/08/15 16:29:03 [joshcross:4] Before: ("encoding params","vers")
2018/08/15 16:29:03 [joshcross:4] Before: ("rid","3")
2018/08/15 16:29:03 [joshcross:4] Before: ("genre","Anime")
2018/08/15 16:29:03 [joshcross:4] Before: ("playlist_position","17")
2018/08/15 16:29:03 [joshcross:4] Before: ("album_artist","Wiseman")
2018/08/15 16:29:03 [joshcross:4] After : ("album","Violet Evergarden OP Single - Sincerely")
2018/08/15 16:29:03 [joshcross:4] After : ("date","2018")
2018/08/15 16:29:03 [joshcross:4] After : ("track","2")
2018/08/15 16:29:03 [joshcross:4] After : ("kind","{audio=2;video=0;midi=0}")
2018/08/15 16:29:03 [joshcross:4] After : ("artist","TRUE")
2018/08/15 16:29:03 [joshcross:4] After : ("decoder","MP4")
2018/08/15 16:29:03 [joshcross:4] After : ("title","Houyou Sekai")
2018/08/15 16:29:03 [joshcross:4] After : ("filename","/radio/collection/music/Houyou_Sekai.m4a")
2018/08/15 16:29:03 [joshcross:4] After : ("temporary","false")
2018/08/15 16:29:03 [joshcross:4] After : ("source","music")
2018/08/15 16:29:03 [joshcross:4] After : ("initial_uri","/radio/collection/music/Houyou_Sekai.m4a")
2018/08/15 16:29:03 [joshcross:4] After : ("totaltracks","4")
2018/08/15 16:29:03 [joshcross:4] After : ("playlist_length","92")
2018/08/15 16:29:03 [joshcross:4] After : ("status","playing")
2018/08/15 16:29:03 [joshcross:4] After : ("tool","qaac 2.65, CoreAudioToolbox 7.10.9.0, AAC-LC Encoder, CVBR 256kbps, Quality 96")
2018/08/15 16:29:03 [joshcross:4] After : ("itunsmpb","00000000 00000840 00000150 0000000000A41E70 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000")
2018/08/15 16:29:03 [joshcross:4] After : ("on_air","2018/08/15 16:29:03")
2018/08/15 16:29:03 [joshcross:4] After : ("encoding params","vers")
2018/08/15 16:29:03 [joshcross:4] After : ("rid","0")
2018/08/15 16:29:03 [joshcross:4] After : ("genre","Anime")
2018/08/15 16:29:03 [joshcross:4] After : ("comment","http://shinnoden.net/")
2018/08/15 16:29:03 [joshcross:4] After : ("playlist_position","18")
2018/08/15 16:29:03 [joshcross:3] new >= old + margin, old <= medium and new <= high.
2018/08/15 16:29:03 [joshcross:3] Do not fade if it's already very low.
2018/08/15 16:29:03 [joshcross:3] Transition: crossed, no fade.
2018/08/15 16:29:03 [source:4] Source add_15443 gets up.
2018/08/15 16:29:03 [add_15443:4] Content kind is {audio=2;video=0;midi=0}.
2018/08/15 16:29:03 [source:4] Source smart_cross_5951_after gets up.
2018/08/15 16:29:03 [source:4] Source buffer_15391 gets up.
2018/08/15 16:29:03 [buffer_15391:4] Content kind is {audio=2;video=0;midi=0}.
2018/08/15 16:29:03 [buffer_15391:4] Activations changed: static=[smart_cross_5951_after:add_15443:smart_cross_5951], dynamic=[].
2018/08/15 16:29:03 [rotate_5949:4] Activations changed: static=[smart_cross_5951_after:add_15443:smart_cross_5951, smart_cross_5951_after:fade_in_15378:add_15379:smart_cross_5951], dynamic=[smart_cross_5951].
2018/08/15 16:29:03 [rotate_5949:4] Enabling caching mode: two static activations.
2018/08/15 16:29:03 [smart_cross_5951_after:4] Activations changed: static=[add_15443:smart_cross_5951], dynamic=[].
2018/08/15 16:29:03 [source:4] Source smart_cross_5951_before gets up.
2018/08/15 16:29:03 [smart_cross_5951_before:4] Content kind is {audio=2;video=0;midi=0}.
2018/08/15 16:29:03 [smart_cross_5951_before:4] Activations changed: static=[add_15443:smart_cross_5951], dynamic=[].
2018/08/15 16:29:03 [add_15443:4] Activations changed: static=[smart_cross_5951], dynamic=[].
2018/08/15 16:29:03 [add_15379:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:03 [source:4] Source add_15379 gets down.
2018/08/15 16:29:03 [fade_in_15378:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:03 [source:4] Source fade_in_15378 gets down.
2018/08/15 16:29:03 [smart_cross_5951_after:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:03 [source:4] Source smart_cross_5951_after gets down.
2018/08/15 16:29:03 [rotate_5949:4] Activations changed: static=[smart_cross_5951_after:add_15443:smart_cross_5951], dynamic=[smart_cross_5951].
2018/08/15 16:29:03 [rotate_5949:4] Disabling caching mode.
2018/08/15 16:29:03 [fade_out_15377:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:03 [source:4] Source fade_out_15377 gets down.
2018/08/15 16:29:03 [smart_cross_5951_before:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:03 [source:4] Source smart_cross_5951_before gets down.
2018/08/15 16:29:05 [buffer_15391:4] End of track.
2018/08/15 16:29:05 [buffer_15391:4] Buffer emptied, buffering needed.
2018/08/15 16:29:05 [buffer_15391:4] Activations changed: static=[], dynamic=[].
2018/08/15 16:29:05 [source:4] Source buffer_15391 gets down.
2018/08/15 16:29:08 [smart_cross_5951_before:4] End of track.
2018/08/15 16:29:08 [smart_cross_5951_before:4] Buffer emptied, buffering needed.
2018/08/15 16:29:13 [source:4] Garbage collected add_15379.
2018/08/15 16:29:13 [source:4] Garbage collected fade_in_15378.
2018/08/15 16:29:13 [source:4] Garbage collected fade_out_15377.
2018/08/15 16:29:13 [source:4] Garbage collected smart_cross_5951_after.
2018/08/15 16:29:13 [source:4] Garbage collected buffer_15335.
2018/08/15 16:29:13 [source:4] Garbage collected smart_cross_5951_before.
2018/08/15 16:32:51 [decoder:4] Trying method "MP4" for "/radio/collection/music/Just_A_Way_You_Are.m4a"...
2018/08/15 16:32:51 [decoder.mp4:4] Libfaad recognizes "/radio/collection/music/Just_A_Way_You_Are.m4a" as MP4 (44100Hz,2 channels).
2018/08/15 16:32:51 [decoder:3] Method "MP4" accepted "/radio/collection/music/Just_A_Way_You_Are.m4a".
2018/08/15 16:32:51 [music:4] Remaining: 10.0s, queued: 0.0s, adding: 30.0s (RID 1)
2018/08/15 16:32:56 [smart_cross_5951:4] Buffering end of track...
2018/08/15 16:32:56 [smart_cross_5951:4] More buffering will be needed.
2018/08/15 16:33:02 [decoder:4] Decoding "/radio/collection/music/Houyou_Sekai.m4a" ended: Aac_decoder.Make_mp4(Generator).End_of_track.
2018/08/15 16:33:02 [music:3] Finished with "/radio/collection/music/Houyou_Sekai.m4a".
2018/08/15 16:33:02 [music:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s
2018/08/15 16:33:02 [music:3] Prepared "/radio/collection/music/Just_A_Way_You_Are.m4a" (RID 1).
2018/08/15 16:33:02 [rotate_5949:3] Switch to mksafe with forgetful transition.
2018/08/15 16:33:02 [mksafe:4] Activations changed: static=[], dynamic=[rotate_5949:smart_cross_5951].
2018/08/15 16:33:02 [mksafe:4] Activations changed: static=[rotate_5949:smart_cross_5951], dynamic=[rotate_5949:smart_cross_5951].

@toots
Copy link
Member

toots commented Aug 15, 2018

Looks like you're not running the latest code. This transition should not have been crossfaded with the recent changes because there isn't the same amount of buffer in before and after:

2018/08/15 16:29:03 [smart_cross_5951:3] Analysis: -nandB / -24.291731dB (5.03s / 1.97s)

@toots
Copy link
Member

toots commented Aug 15, 2018

Shoot my bad I forgot one step in the install instructions. Let me try again:

git clone git@github.com:savonet/liquidsoap.git
cd liquidsoap
git checkout smartcross-cleanup
opam pin add .

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

Exactly. I did not notice a new branch.

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

@toots
The last build does not start the stream at all.

2018/08/15 16:56:26 >>> LOG START
2018/08/15 16:56:26 [main:3] Liquidsoap 1.3.3+scm
2018/08/15 16:56:26 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.3.4 dtools=0.4.0 duppy=0.7.1 duppy.syntax=0.7.1 cry=0.6.1 mm=0.4.0 dynlink=[distributed with Ocaml] samplerate=0.1.4 camomile=1.0.1 faad=0.4.0
2018/08/15 16:56:26 [main:2] 
2018/08/15 16:56:26 [main:2] DISCLAIMER: This version of Liquidsoap has been
2018/08/15 16:56:26 [main:2] compiled from a snapshot of the development code.
2018/08/15 16:56:26 [main:2] As such, it should not be used in production
2018/08/15 16:56:26 [main:2] unless you know what you are doing!
2018/08/15 16:56:26 [main:2] 
2018/08/15 16:56:26 [main:2] We are, however, very interested in any feedback
2018/08/15 16:56:26 [main:2] about our development code and committed to fix
2018/08/15 16:56:26 [main:2] issues as soon as possible.
2018/08/15 16:56:26 [main:2] 
2018/08/15 16:56:26 [main:2] If you are interested in collaborating to
2018/08/15 16:56:26 [main:2] the development of Liquidsoap, feel free to
2018/08/15 16:56:26 [main:2] drop us a mail at <savonet-devl@lists.sf.net>
2018/08/15 16:56:26 [main:2] or to join the #savonet IRC channel on Freenode.
2018/08/15 16:56:26 [main:2] 
2018/08/15 16:56:26 [main:2] Please send any bug report or feature request
2018/08/15 16:56:26 [main:2] at <https://github.com/savonet/liquidsoap/issues>.
2018/08/15 16:56:26 [main:2] 
2018/08/15 16:56:26 [main:2] We hope you enjoy this snapshot build of Liquidsoap!
2018/08/15 16:56:26 [main:2] 
2018/08/15 16:56:26 [dynamic.loader:3] Could not find dynamic module for lame encoder.
2018/08/15 16:56:26 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.
2018/08/15 16:56:26 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2018/08/15 16:56:26 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2018/08/15 16:56:26 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2018/08/15 16:56:26 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2018/08/15 16:56:26 [video.converter:4] Couldn't find preferred video converter: gavl.

Why does he ask for gavl if I only have audio via an external encoder? And the decoder is used only by the faad. 😕

@toots
Copy link
Member

toots commented Aug 15, 2018

Wow. I have no idea what could cause that. What version of OCaml are you using to build? I'd suggest switch to the latest, 4.07.0..

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

4.06.0. There were some problems under 4.07.0, but I'll try again.

@toots
Copy link
Member

toots commented Aug 15, 2018

Ok. I'm starting to believe that your issue has nothing to do with what we were looking for. If you get another hard freeze like that the next step would prolly be to look at it with gdb.

@Yukioru
Copy link
Author

Yukioru commented Aug 15, 2018

@toots #596 (comment)
Sorry, I forgot to turn off Liquidsoap from the background.
Has recompiled in 4.07.0. If it falls down, I'll tell you. We will move on.

@toots
Copy link
Member

toots commented Aug 16, 2018

Any luck with the latest changes?

@Yukioru
Copy link
Author

Yukioru commented Aug 16, 2018

While everything works. (Jingles + crossfade, without ladspa).
I think another day to wait to see if it does not fall down - then everything is fine.

@Yukioru
Copy link
Author

Yukioru commented Aug 16, 2018

If all goes well, I'll try to connect ladspa. Also check with the fdkaac encoder.
At the expense of other encoders do not know, maybe.

@toots
Copy link
Member

toots commented Aug 16, 2018

Crossing fingers!!

@Yukioru
Copy link
Author

Yukioru commented Aug 16, 2018

By the way, I did not change the transition in crossfade. It works through add(a, b), not through sequence([a, b]).

@toots
Copy link
Member

toots commented Aug 16, 2018

Ok. Change it back too then when you feel like it. It wasn't used, tho, the "j"/"J" metadata didn't seem to be present with jingles.

@gilou
Copy link
Contributor

gilou commented Aug 16, 2018

I'm noticing a similar issue on 1.3.3, and it's driving me crazy as I'm working on other issues, getting clouded by this, and I didn't even suspect smart_crossfade. I'll switch to the given branch to check, but the process stalls, ^C isn't treated, I have to check what happens to the server socket, but it seemed dead to me.

@gilou
Copy link
Contributor

gilou commented Aug 17, 2018

OK, happened again, so icecast output goes down, liq stops outputting on stdout, doesn't respond to ^C. server socket is still connected (no timeout), and tells:

uptime
0d 12h 39m 28s
END
request.alive
8 9 10 0 7
request.on_air
7
END
request.trace 7
[2018/08/17 01:03:22] Pushed ["/home/ubuntu/demo/party/Maness Star - La danse du chien.mp3";...].
[2018/08/17 01:07:13] Currently on air.
END
cross.status
on
END

But then I hit ^D and couldn't talk to liq through the socket anymore.
The on air metadata is on sync with the last log:


2018/08/17 01:05:58 [buffer_23323:4] Content kind is {audio=2;video=0;midi=0}.                                                                                                      
2018/08/17 01:05:58 [buffer_23323:4] Activations changed: static=[smart_cross_8952_after:add_23374:smart_cross_8952], dynamic=[].                                                   
2018/08/17 01:05:58 [fallback_8950:4] Activations changed: static=[smart_cross_8952_after:add_23374:smart_cross_8952, smart_cross_8952_after:fade_in_23311:add_23312:smart_cross_8952], dynamic=[smart_cross_8952].
2018/08/17 01:05:58 [fallback_8950:4] Enabling caching mode: two static activations.
2018/08/17 01:05:58 [smart_cross_8952_after:4] Activations changed: static=[add_23374:smart_cross_8952], dynamic=[].
2018/08/17 01:05:58 [source:4] Source smart_cross_8952_before gets up.
2018/08/17 01:05:58 [smart_cross_8952_before:4] Content kind is {audio=2;video=0;midi=0}.
2018/08/17 01:05:58 [smart_cross_8952_before:4] Activations changed: static=[add_23374:smart_cross_8952], dynamic=[].
2018/08/17 01:05:58 [add_23374:4] Activations changed: static=[smart_cross_8952], dynamic=[].
2018/08/17 01:05:58 [add_23312:4] Activations changed: static=[], dynamic=[].
2018/08/17 01:05:58 [source:4] Source add_23312 gets down.
2018/08/17 01:05:58 [fade_in_23311:4] Activations changed: static=[], dynamic=[].
2018/08/17 01:05:58 [source:4] Source fade_in_23311 gets down.
2018/08/17 01:05:58 [smart_cross_8952_after:4] Activations changed: static=[], dynamic=[].
2018/08/17 01:05:58 [source:4] Source smart_cross_8952_after gets down.
2018/08/17 01:05:58 [fallback_8950:4] Activations changed: static=[smart_cross_8952_after:add_23374:smart_cross_8952], dynamic=[smart_cross_8952].
2018/08/17 01:05:58 [fallback_8950:4] Disabling caching mode.
2018/08/17 01:05:58 [smart_cross_8952_before:4] Activations changed: static=[], dynamic=[].
2018/08/17 01:05:58 [source:4] Source smart_cross_8952_before gets down.
2018/08/17 01:06:00 [buffer_23323:4] End of track.
2018/08/17 01:06:00 [buffer_23323:4] Buffer emptied, buffering needed.
2018/08/17 01:06:00 [buffer_23323:4] Activations changed: static=[], dynamic=[].
2018/08/17 01:06:00 [source:4] Source buffer_23323 gets down.
2018/08/17 01:06:03 [smart_cross_8952_before:4] End of track.
2018/08/17 01:06:03 [smart_cross_8952_before:4] Buffer emptied, buffering needed.
2018/08/17 01:06:04 [smart_cross_8952:4] Buffering end of track...
2018/08/17 01:06:04 [source:4] Garbage collected add_23312.
2018/08/17 01:06:04 [source:4] Garbage collected fade_in_23311.
2018/08/17 01:06:04 [source:4] Garbage collected smart_cross_8952_after.
2018/08/17 01:06:04 [source:4] Garbage collected buffer_23258.
2018/08/17 01:06:04 [source:4] Garbage collected smart_cross_8952_before.
2018/08/17 01:06:04 [smart_cross_8952:4] More buffering will be needed.
2018/08/17 01:07:03 [decoder:4] Trying method "META" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder:4] Trying method "WAV" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder.wav/aiff:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [decoder:4] Trying method "AIFF" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder.wav/aiff:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [decoder:4] Trying method "MIDI" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder:4] Trying method "IMAGE" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder:4] Trying method "FLAC" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder.flac:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [decoder:4] Trying method "AAC" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder.aac:4] Libfaad recognizes "/home/ubuntu/demo/chill/04 Istikbar.mp3" as AAC (44100Hz,2 channels).
2018/08/17 01:07:03 [decoder.aac:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [decoder:4] Trying method "MP4" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder:4] Decoder "MP4" failed on "/home/ubuntu/demo/chill/04 Istikbar.mp3": Faad.Failed!
2018/08/17 01:07:03 [decoder:4] Trying method "OGG" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder.ogg:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [decoder:4] Trying method "MAD" for "/home/ubuntu/demo/chill/04 Istikbar.mp3"...
2018/08/17 01:07:03 [decoder.mad:4] Libmad recognizes "/home/ubuntu/demo/chill/04 Istikbar.mp3" as mpeg audio (layer III, 128kbps, 44100Hz, 2 channels).
2018/08/17 01:07:03 [decoder:3] Method "MAD" accepted "/home/ubuntu/demo/chill/04 Istikbar.mp3".
2018/08/17 01:07:03 [metadata.flac:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [metadata.mp4:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [decoder.ogg:4] Invalid file extension for "/home/ubuntu/demo/chill/04 Istikbar.mp3"!
2018/08/17 01:07:03 [chill(dot)m3u:4] Remaining: 9.9s, queued: 0.0s, adding: 30.0s (RID 10)
2018/08/17 01:07:13 [decoder:4] Decoding "/home/ubuntu/demo/chill/02 Sikiliza Kwa Wahenga (Main Title).mp3" ended: Mad.End_of_stream.
2018/08/17 01:07:13 [chill(dot)m3u:3] Finished with "/home/ubuntu/demo/chill/02 Sikiliza Kwa Wahenga (Main Title).mp3".
2018/08/17 01:07:13 [chill(dot)m3u:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s
2018/08/17 01:07:13 [chill(dot)m3u:3] Prepared "/home/ubuntu/demo/chill/04 Istikbar.mp3" (RID 10).
2018/08/17 01:07:13 [rotate_8947:3] Switch to party(dot)m3u with forgetful transition.
2018/08/17 01:07:13 [chill(dot)m3u:4] Activations changed: static=[], dynamic=[rotate_8947:switch_8949:fallback_8950:smart_cross_8952, rotate_8945:switch_8949:fallback_8950:smart_c
ross_8952, rotate_8943:switch_8949:fallback_8950:smart_cross_8952, rotate_8941:switch_8949:fallback_8950:smart_cross_8952].
2018/08/17 01:07:13 [chill(dot)m3u:4] Disabling caching mode.
2018/08/17 01:07:13 [party(dot)m3u:4] Activations changed: static=[rotate_8947:switch_8949:fallback_8950:smart_cross_8952, rotate_8945:switch_8949:fallback_8950:smart_cross_8952],
dynamic=[rotate_8947:switch_8949:fallback_8950:smart_cross_8952, rotate_8945:switch_8949:fallback_8950:smart_cross_8952, rotate_8943:switch_8949:fallback_8950:smart_cross_8952].
2018/08/17 01:07:13 [smart_cross_8952:3] Analysis: -62.502080dB / -11.618629dB (5.01s / 1.99s)
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("replaygain_track_peak","0.95651245")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("album","Get Out")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("date","2017")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("kind","{audio=2;video=0;midi=0}")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("year","2017")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("artist","Michael Abels")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("decoder","MAD")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("title","Sikiliza Kwa Wahenga (Main Title)")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("label","Back Lot Music")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("filename","/home/ubuntu/demo/chill/02 Sikiliza Kwa Wahenga (Main Title).mp3")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("temporary","false")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("source","chill(dot)m3u")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("tracknumber","02/43")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("initial_uri","/home/ubuntu/demo/chill/02 Sikiliza Kwa Wahenga (Main Title).mp3")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("quodlibet::replaygain_reference_loudness","89 dB")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("playlist_length","23")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("status","playing")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("replaygain_reference_loudness","89 dB")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("replaygain_track_gain","-4.25000000 dB")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("replaygain_album_gain","-4.25000000 dB")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("albumartist","Michael Abels")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("on_air","2018/08/17 01:05:58")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("rid","6")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("replaygain_album_peak","0.95651245")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("genre","Score")
2018/08/17 01:07:13 [smart_crossfade:4] Before: ("playlist_position","5")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("replaygain_track_peak","0.98638916")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("album","zouglou youtube rip")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("compatible_brands","iso6mp41")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("kind","{audio=2;video=0;midi=0}")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("decoder","MAD")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("encoding","Lavf57.19.100")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("filename","/home/ubuntu/demo/party/Maness Star - La danse du chien.mp3")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("temporary","false")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("source","party(dot)m3u")
2018/08/17 01:07:13 [smart_crossfade:4] After : ("initial_uri","/home/ubuntu/demo/party/Maness Star - La danse du chien.mp3")

This happened at 01:07:13, stream started at 20:58:25. Liq process was still using RAM and CPU, strace yields this:

strace: Process 29247 attached
rt_sigtimedwait([INT TERM], 

I couldn't get a coredump as the env wasn't set for it, but I restarted it using gdb, so we'll see...
ocamlc is: 4.05.0
liquidsoap is 1.3.3 from opam
OS is Ubuntu 18.04 64 bits

I will try the branch if that is relevant.
The liq code is here : https://gist.github.com/gilou/33ffcdb2d345ea1f09642b4399f33f84
This script (though more complex) runs on liq 1.2.0 / 4.02.3 / ubuntu 16.04.2 compiled from the source tarball without failing.

@Yukioru
Copy link
Author

Yukioru commented Aug 17, 2018

@gilou #596 (comment)

Try this branch smartcross-cleanup.

With the latest changes, the stream does not seem to fall any more.
(But I'm not testing on mp3, it's a good reason to check it)

P.s. Build with ocamlc: 4.07.0. (mm, dtools, duppy from master branches)

@gilou
Copy link
Contributor

gilou commented Aug 18, 2018

I will try the branch, just dumping here the gdb output after I killed the process on 1.3.3

Thread 8 (Thread 0x7fffda9c9700 (LWP 30537)):                                                                                                                        
#0  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135                                                                                       
#1  0x00007ffff529a023 in __GI___pthread_mutex_lock (mutex=0x5555560878a0) at ../nptl/pthread_mutex_lock.c:78
#2  0x0000555555b0578d in caml_mutex_lock ()
#3  0x0000555555a6aa77 in camlDtools__mutexify_2153 () at dtools.ml:767
#4  0x0000555555b26d04 in caml_start_program ()
#5  0x0000555555b246f0 in caml_final_do_calls ()
#6  0x0000555555b1183a in caml_gc_dispatch ()
#7  0x0000555555b0dfd7 in caml_garbage_collection ()
#8  0x0000555555b26ac0 in caml_call_gc ()
#9  0x0000555555a9694d in camlBuffer__create_1209 () at buffer.ml:28
#10 0x0000555555aab8e9 in camlPrintf__k$27_1310 () at printf.ml:34
#11 0x0000555555a6ab69 in camlDtools__print_2157 () at dtools.ml:775
#12 0x0000555555a6aacc in camlDtools__mutexify_2153 () at dtools.ml:768
#13 0x0000555555a831b1 in camlList__iter_1272 () at list.ml:85
#14 0x0000555555986980 in camlSource__fun_inner_2781 () at source.ml:388
#15 0x0000555555a831b1 in camlList__iter_1272 () at list.ml:85
#16 0x0000555555986980 in camlSource__fun_inner_2781 () at source.ml:388
#17 0x00005555558fe8d0 in camlSmartcross__fun_2645 () at operators/smartcross.ml:329
#18 0x00005555558ff5aa in camlSmartcross__fun_2568 () at operators/smartcross.ml:176
#19 0x00005555559862ae in camlSource__fun_2861 () at source.ml:524
#20 0x0000555555920d48 in camlOutput__fun_2301 () at outputs/output.ml:174
#21 0x000055555598367c in camlClock__fun_2785 () at clock.ml:160
#22 0x0000555555a83268 in camlList__fold_left_1286 () at list.ml:96
#23 0x0000555555981b51 in camlClock__fun_2738 () at clock.ml:158
#24 0x0000555555984af1 in camlClock__loop_1979 () at clock.ml:374
#25 0x00005555559822ad in camlClock__fun_2982 () at clock.ml:377
#26 0x00005555559a85d2 in camlTutils__fun_2816 () at tools/tutils.ml:136
#27 0x0000555555a78609 in camlThread__fun_1570 () at thread.ml:39
#28 0x0000555555b26d04 in caml_start_program ()
#29 0x0000555555b04bbf in caml_thread_start ()
#30 0x00007ffff52976db in start_thread (arg=0x7fffda9c9700) at pthread_create.c:463
#31 0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fffdb7fe700 (LWP 30536)):
#0  0x00007ffff529d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5555560ab818) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5555560ab7c0, cond=0x5555560ab7f0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x5555560ab7f0, mutex=0x5555560ab7c0) at pthread_cond_wait.c:655
#3  0x0000555555b05934 in caml_condition_wait ()
#4  0x00005555559a95ea in camlTutils__fun_2956 () at tools/tutils.ml:314
#5  0x00005555559a7e1c in camlTutils__mutexify_1392 () at tools/tutils.ml:80
#6  0x0000555555a69f69 in camlDtools__thread_1862 () at dtools.ml:556
#7  0x0000555555a78609 in camlThread__fun_1570 () at thread.ml:39
#8  0x0000555555b26d04 in caml_start_program ()
#9  0x0000555555b04bbf in caml_thread_start ()
#10 0x00007ffff52976db in start_thread (arg=0x7fffdb7fe700) at pthread_create.c:463
#11 0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffdbfff700 (LWP 30535)):
#0  0x00007ffff4b9a03f in __GI___select (nfds=18, readfds=0x7fffdbffea60, writefds=0x7fffdbffeae0, exceptfds=0x7fffdbffeb60, timeout=0x0)
    at ../sysdeps/unix/sysv/linux/select.c:41
#1  0x0000555555b0911f in unix_select ()
#2  0x0000555555a5f25b in camlDuppy__f_1507 () at duppy.ml:181
#3  0x0000555555a5edb4 in camlDuppy__process_1498 () at duppy.ml:201
#4  0x0000555555a5f917 in camlDuppy__queue_inner_3339 () at duppy.ml:295
#5  0x00005555559a8aef in camlTutils__queue_1738 () at tools/tutils.ml:215
#6  0x00005555559a85d2 in camlTutils__fun_2816 () at tools/tutils.ml:136
#7  0x0000555555a78609 in camlThread__fun_1570 () at thread.ml:39
#8  0x0000555555b26d04 in caml_start_program ()
#9  0x0000555555b04bbf in caml_thread_start ()
#10 0x00007ffff52976db in start_thread (arg=0x7fffdbfff700) at pthread_create.c:463
#11 0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffe0895700 (LWP 30534)):
#0  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007ffff529a023 in __GI___pthread_mutex_lock (mutex=0x5555560878a0) at ../nptl/pthread_mutex_lock.c:78
#2  0x0000555555b0578d in caml_mutex_lock ()
#3  0x0000555555a6aa77 in camlDtools__mutexify_2153 () at dtools.ml:767
#4  0x000055555598bbf2 in camlServer__incoming_2114 () at tools/server.ml:311
---Type <return> to continue, or q <return> to quit---
#5  0x0000555555a5ea7c in camlDuppy__fun_3208 () at duppy.ml:131
#6  0x0000555555a5f631 in camlDuppy__exec_1547 () at duppy.ml:253
#7  0x0000555555a5f868 in camlDuppy__queue_inner_3339 () at duppy.ml:280
#8  0x00005555559a8aef in camlTutils__queue_1738 () at tools/tutils.ml:215
#9  0x00005555559a85d2 in camlTutils__fun_2816 () at tools/tutils.ml:136
#10 0x0000555555a78609 in camlThread__fun_1570 () at thread.ml:39
#11 0x0000555555b26d04 in caml_start_program ()
#12 0x0000555555b04bbf in caml_thread_start ()
#13 0x00007ffff52976db in start_thread (arg=0x7fffe0895700) at pthread_create.c:463
#14 0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffe1096700 (LWP 30533)):
#0  0x00007ffff529d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fffd4000b48) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5555560a9140, cond=0x7fffd4000b20) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7fffd4000b20, mutex=0x5555560a9140) at pthread_cond_wait.c:655
#3  0x0000555555b05934 in caml_condition_wait ()
#4  0x0000555555a5f9a6 in camlDuppy__queue_inner_3339 () at duppy.ml:311
#5  0x00005555559a8b32 in camlTutils__queue_1738 () at tools/tutils.ml:213
#6  0x00005555559a85d2 in camlTutils__fun_2816 () at tools/tutils.ml:136
#7  0x0000555555a78609 in camlThread__fun_1570 () at thread.ml:39
#8  0x0000555555b26d04 in caml_start_program ()
#9  0x0000555555b04bbf in caml_thread_start ()
#10 0x00007ffff52976db in start_thread (arg=0x7fffe1096700) at pthread_create.c:463
#11 0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffe1897700 (LWP 30532)):
#0  0x00007ffff4b9a03f in __GI___select (nfds=0, readfds=0x0, writefds=0x0, exceptfds=0x0, timeout=0x7fffe1896e50) at ../sysdeps/unix/sysv/linux/select.c:41
#1  0x0000555555b04759 in caml_thread_tick ()
#2  0x00007ffff52976db in start_thread (arg=0x7fffe1897700) at pthread_create.c:463
#3  0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffe2098700 (LWP 30531)):
#0  0x00007ffff529d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fffdc000b4c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5555560a9140, cond=0x7fffdc000b20) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7fffdc000b20, mutex=0x5555560a9140) at pthread_cond_wait.c:655
#3  0x0000555555b05934 in caml_condition_wait ()
#4  0x0000555555a5f9a6 in camlDuppy__queue_inner_3339 () at duppy.ml:311
#5  0x00005555559a8b32 in camlTutils__queue_1738 () at tools/tutils.ml:213
#6  0x00005555559a85d2 in camlTutils__fun_2816 () at tools/tutils.ml:136
#7  0x0000555555a78609 in camlThread__fun_1570 () at thread.ml:39
#8  0x0000555555b26d04 in caml_start_program ()
#9  0x0000555555b04bbf in caml_thread_start ()
#10 0x00007ffff52976db in start_thread (arg=0x7fffe2098700) at pthread_create.c:463
#11 0x00007ffff4ba488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7fddd80 (LWP 30527)):
#0  0x00007ffff4ac326c in __GI___sigtimedwait (set=<optimized out>, set@entry=0x7fffffffe060, info=info@entry=0x7fffffffdfa0, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:42
#1  0x00007ffff52a245c in __sigwait (set=0x7fffffffe060, sig=0x7fffffffe05c) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x0000555555b04fda in caml_wait_signal ()
#3  0x0000555555a69c2c in camlDtools__wait_signal_1606 () at dtools.ml:527
#4  0x0000555555a69d76 in camlDtools__main_1857 () at dtools.ml:567
#5  0x0000555555a6a078 in camlDtools__catch_1869 () at dtools.ml:574
#6  0x000055555588d145 in camlMain__Make_1857 () at main.ml:636
#7  0x000055555588a730 in camlRunner__entry () at runner.ml:30
#8  0x0000555555883479 in caml_program ()
#9  0x0000555555b26d04 in caml_start_program ()
#10 0x0000555555b0c78d in caml_startup_exn ()
#11 0x0000555555b0c7d9 in caml_startup ()
#12 0x0000555555881e6c in main ()

@gilou
Copy link
Contributor

gilou commented Aug 18, 2018

I didn't notice the spec about ocamlc version 4.07.0, though I can get it from opam, I'd rather stick to the distribution version unless I have to, as opam isn't nicely wired yet in our upgrade process. I guess we'll have a test case of the branch+ocaml 4.05 ;)
It's running in gdb for the time being.

@gilou
Copy link
Contributor

gilou commented Aug 18, 2018

Ha, I missed the opam warning, it won't install the pinned version, and I'm back on dependency hell...

@Yukioru
Copy link
Author

Yukioru commented Aug 18, 2018

@gilou
Pin first mm from the repository. Then the liquidosap

git clone https://github.com/savonet/ocaml-mm.git --recursive
cd ocaml-mm
opam pin add .

@gilou
Copy link
Contributor

gilou commented Aug 18, 2018

See #603 hehe, but I figured it out, however I'm fully relying on dev versions for mm & dtools now... But I trust all will be fixed once this is closed...

@Yukioru
Copy link
Author

Yukioru commented Aug 18, 2018

I think this will be fixed for release 1.3.4.

@toots
Copy link
Member

toots commented Aug 18, 2018

Which is imminent!

@toots
Copy link
Member

toots commented Aug 18, 2018

Gonna merge and close, please report if y'all see more issues.

@Yukioru
Copy link
Author

Yukioru commented Aug 18, 2018

@toots #596 (comment)
Ok. fdkaac and my external encoder is normal. After the day of testing, it still works.

@toots toots closed this as completed in c73a086 Aug 18, 2018
@gilou
Copy link
Contributor

gilou commented Aug 19, 2018

It froze again using master for mm, duppy, faad and liq... maybe something is inconsistent, here's the bt: bt.txt
, though on a complex script, I'm back to running the simpler version, once I've also upgraded the other plugins to dev..

@toots
Copy link
Member

toots commented Aug 19, 2018

@gilou, do you have the logs? I see cleanup_threads being called, was the script frozen while shutting down?

@toots
Copy link
Member

toots commented Aug 19, 2018

On this note, if it froze while shutting down, make sure you have the latest liquidsoap and ocaml-duppy. I did put in some fixes for this yesterday.

@gilou
Copy link
Contributor

gilou commented Aug 19, 2018

I sent ^C to no avail, then ^Z to get control of the shell. I'm running a trimmed version of the script, something still makes it barf, but it could be many things... And I'm running from git master of each of the components.

@gilou
Copy link
Contributor

gilou commented Aug 20, 2018

OK, once back on the simple version with only crossfade, it holds, I'm still running tests... but the culprit seems to be once again around pipe() or outside processes, wether on sources or because of dynamic replaygain metadata extraction. I'll stop spamming here and open another issue once I can pinpoint it more precisely.

Thanks a lot Romain for following up on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants