Closed KallDrexx closed 7 years ago
It works fine for me. Any chance you can try on Erlang 19?
Checking PLT...
[:amf0, :compiler, :earmark, :elixir, :ex_doc, :gen_rtmp_server, :kernel,
:logger, :ranch, :rtmp, :stdlib, :uuid]
Finding suitable PLTs
Looking up modules in dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Looking up modules in dialyxir_erlang-19.2_elixir-1.4.0.plt
Looking up modules in dialyxir_erlang-19.2.plt
Finding applications for dialyxir_erlang-19.2.plt
Finding modules for dialyxir_erlang-19.2.plt
Creating dialyxir_erlang-19.2.plt
Looking up modules in dialyxir_erlang-19.2.plt
Removing 3 modules from dialyxir_erlang-19.2.plt
Checking 11 modules in dialyxir_erlang-19.2.plt
Adding 149 modules to dialyxir_erlang-19.2.plt
Finding applications for dialyxir_erlang-19.2_elixir-1.4.0.plt
Finding modules for dialyxir_erlang-19.2_elixir-1.4.0.plt
Copying dialyxir_erlang-19.2.plt to dialyxir_erlang-19.2_elixir-1.4.0.plt
Looking up modules in dialyxir_erlang-19.2_elixir-1.4.0.plt
Checking 160 modules in dialyxir_erlang-19.2_elixir-1.4.0.plt
Adding 220 modules to dialyxir_erlang-19.2_elixir-1.4.0.plt
Finding applications for dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Finding modules for dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Copying dialyxir_erlang-19.2_elixir-1.4.0.plt to dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Looking up modules in dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Checking 380 modules in dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Adding 215 modules to dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt
Starting Dialyzer
dialyzer --no_check_plt --fullpath --plt /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/dialyxir_erlang-19.2_elixir-1.4.0_deps-umbrella.plt /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/flv/ebin /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/rtmp_reader_cli/ebin /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/simple_rtmp_server/ebin /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/gen_rtmp_server/ebin /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/amf3/ebin /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/rtmp/ebin /home/jeremy/play/elixir/elixir-media-libs/_build/umbrella/lib/amf0/ebin
Compiling some key modules to native code... done in 0m34.37s
Proceeding with analysis...
lib/flv/audio_data.ex:82: The variable _ can never match since previous clauses completely covered the type 0 | 1 | 2 | 3
lib/flv/audio_data.ex:86: The variable _ can never match since previous clauses completely covered the type 0 | 1
lib/flv/audio_data.ex:90: The variable _ can never match since previous clauses completely covered the type 0 | 1
lib/rtmp/protocol/handler.ex:112: The call 'Elixir.Rtmp.Protocol.ChunkIo':serialize(any(),raw_message@1::#{'__struct__':='Elixir.Rtmp.Protocol.RawMessage', 'deserialization_system_time':='nil', 'force_uncompressed':=_, 'message_type_id':=1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 18 | 20, 'payload':=_, 'stream_id':=_, 'timestamp':=_},csid@1::2 | 3 | 6 | 20 | 21) breaks the contract (state(),'Elixir.Rtmp.Protocol.RawMessage':t(),non_neg_integer()) -> {state(),iodata()}
lib/rtmp/protocol/handler.ex:168: The pattern #{'message_type_id':=19, '__struct__':='Elixir.Rtmp.Protocol.RawMessage'} can never match the type #{'__struct__':='Elixir.Rtmp.Protocol.RawMessage', 'deserialization_system_time':='nil', 'force_uncompressed':=_, 'message_type_id':=8 | 9 | 20, 'payload':=_, 'stream_id':=_, 'timestamp':=_}
lib/rtmp/protocol/raw_message.ex:45: Invalid type specification for function 'Elixir.Rtmp.Protocol.RawMessage':pack/1. The success typing is (#{'__struct__':='Elixir.Rtmp.Protocol.DetailedMessage', 'content':=atom() | #{'__struct__':='Elixir.Rtmp.Protocol.Messages.Abort' | 'Elixir.Rtmp.Protocol.Messages.Acknowledgement' | 'Elixir.Rtmp.Protocol.Messages.Amf0Command' | 'Elixir.Rtmp.Protocol.Messages.Amf0Data' | 'Elixir.Rtmp.Protocol.Messages.AudioData' | 'Elixir.Rtmp.Protocol.Messages.SetChunkSize' | 'Elixir.Rtmp.Protocol.Messages.SetPeerBandwidth' | 'Elixir.Rtmp.Protocol.Messages.UserControl' | 'Elixir.Rtmp.Protocol.Messages.VideoData' | 'Elixir.Rtmp.Protocol.Messages.WindowAcknowledgementSize', _=>_}, 'force_uncompressed':=_, 'stream_id':=_, 'timestamp':=_, _=>_}) -> #{'__struct__':='Elixir.Rtmp.Protocol.RawMessage', 'deserialization_system_time':='nil', 'force_uncompressed':=_, 'message_type_id':=1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 18 | 20, 'payload':=_, 'stream_id':=_, 'timestamp':=_}
lib/simple_rtmp_server/worker.ex:253: The call 'Elixir.GenRtmpServer':send_message(pid(),outbound_message@1::#{'__struct__':='Elixir.GenRtmpServer.MetaData', 'details':=_},any()) will never return since it differs in the 2nd argument from the success typing arguments: (pid(),#{'__struct__':='Elixir.GenRtmpServer.AudioVideoData', 'data':=<<>>, 'data_type':='audio' | 'video', 'received_at_timestamp':=pos_integer()},non_neg_integer())
Unknown types:
'Elixir.Rtmp.ServerSession.StreamMetadata':t/0
done in 0m2.25s
done (warnings were emitted)
Woops, didn't realize that even though Erlang 19 was installed Elixir wasn't using it. My bad.
I'm having the following issue with the latest version and I can't find a good solution anywhere. I am trying to run dialyxir on https://github.com/KallDrexx/elixir-media-libs/tree/c794f29cf3a4f009535936b5ed98223bad9c072a
any ideas?