Skip site navigation (1)Skip section navigation (2)


| raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D279810

            Bug ID: 279810
           Summary: Owntone crashes when selecting an airplay target
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: adorno-cabezal0j@icloud.com

I installed Owntone's last version and it detects all the possible targets,
including Airplay ones.

When selecting the Airplay target, though, it exits on SIGSEV

```
* thread #16, name =3D 'player', stop reason =3D signal SIGSEGV: invalid ad=
dress
(fault address: 0x16c)
    frame #0: 0x00000000002b2bed owntone`___lldb_unnamed_symbol2066 + 77
owntone`___lldb_unnamed_symbol2066:
->  0x2b2bed <+77>: movl   $0x160, 0x16c(%rax)       ; imm =3D 0x160
    0x2b2bf7 <+87>: movl   %r13d, %edi
    0x2b2bfa <+90>: callq  0x30dba0                  ; symbol stub for:
avcodec_find_encoder
    0x2b2bff <+95>: testq  %rax, %rax
```

The web hook cannot be established at this point because the service is dow=
n.

This is my configuration at the moment:

```
# A quick guide to configuring OwnTone:
#
# For regular use, the most important setting to configure is "directories",
# which should be the location of your media. Whatever user you have set as
# "uid" must have read access to this location. If the location is a network
# mount, please see the README.
#
# In all likelihood, that's all you need to do!

general {
        # Username
        # Make sure the user has read access to the library directories you=
 set
        # below, and full access to the databases, log and local audio
        uid =3D "daapd"

        # Database location
#       db_path =3D "/var/cache/owntone/songs3.db"

        # Database backup location
        # Uncomment and specify a full path to enable abilty to use REST
endpoint
        # to initiate backup of songs3.db
#       db_backup_path =3D "/var/cache/owntone/songs3.bak"

        # Log file and level
        # Available levels: fatal, log, warning, info, debug, spam
        logfile =3D "/var/log/owntone.log"
        loglevel =3D spam

        # Admin password for the web interface
        # Note that access to the web interface from computers in
        # "trusted_network" (see below) does not require password
        admin_password =3D ""

        # Websocket port for the web interface.
        websocket_port =3D 3688

        # Websocket interface to bind listener to (e.g. "eth0"). Default is
        # disabled, which means listen on all interfaces.
        #websocket_interface =3D ""

        # Sets who is allowed to connect without authorisation. This applie=
s to
        # client types like Remotes, DAAP clients (iTunes) and to the web
        # interface. Options are "any", "localhost" or the prefix to one or
        # more ipv4/6 networks. The default is { "localhost", "192.168", "f=
d" }
        trusted_networks =3D { "localhost", "192.168", "fd", "100.73" }

        # Enable/disable IPv6
        ipv6 =3D yes

        # Set this if you want the server to bind to a specific IP address.=
 Can
        # be ipv6 or ipv4. Default (commented out or "::") is to listen on =
all
        # IP addresses.
#       bind_address =3D "::"

        # Location of cache database
#       cache_path =3D "/var/cache/owntone/cache.db"

        # DAAP requests that take longer than this threshold (in msec) get
their
        # replies cached for next time. Set to 0 to disable caching.
#       cache_daap_threshold =3D 1000

        # When starting playback, autoselect speaker (if none of the previo=
usly
        # selected speakers/outputs are available)
#       speaker_autoselect =3D no

        # Most modern systems have a high-resolution clock, but if you are =
on
an
        # unusual platform and experience audio drop-outs, you can try chan=
ging
        # this option
#       high_resolution_clock =3D yes
}

# Library configuration
library {
        # Name of the library as displayed by the clients (%h: hostname). If
you
        # change the name after pairing with Remote you may have to re-pair.
        name =3D "My Music on %h"

        # TCP port to listen on. Default port is 3689 (daap)
        port =3D 3689

        # Password for the library. Optional.
#       password =3D ""

        # Directories to index
        directories =3D { "/mnt/Music" }

        # Follow symlinks. Default: true.
#       follow_symlinks =3D true

        # Directories containing podcasts
        # For each directory that is indexed the path is matched against th=
ese
        # names. If there is a match all items in the directory are marked =
as
        # podcasts. Eg. if you index /srv/music, and your podcasts are in
        # /srv/music/Podcasts, you can set this to "/Podcasts".
        # (changing this setting only takes effect after rescan, see the
README)
        podcasts =3D { "/Podcasts" }

        # Directories containing audiobooks
        # For each directory that is indexed the path is matched against th=
ese
        # names. If there is a match all items in the directory are marked =
as
        # audiobooks.
        # (changing this setting only takes effect after rescan, see the
README)
        audiobooks =3D { "/Audiobooks" }

        # Directories containing compilations (eg soundtracks)
        # For each directory that is indexed the path is matched against th=
ese
        # names. If there is a match all items in the directory are marked =
as
        # compilations.
        # (changing this setting only takes effect after rescan, see the
README)
        compilations =3D { "/Compilations" }

        # Compilations usually have many artists, and sometimes no album
artist.
        # If you don't want every artist to be listed in artist views, you =
can
        # set a single name which will be used for all compilation tracks
        # without an album artist, and for all tracks in the compilation
        # directories.
        # (changing this setting only takes effect after rescan, see the
README)
        compilation_artist =3D "Various Artists"

        # If your album and artist lists are cluttered, you can choose to h=
ide
        # albums and artists with only one track. The tracks will still be
        # visible in other lists, e.g. songs and playlists. This setting
        # currently only works in some remotes.
#       hide_singles =3D false

        # Internet streams in your playlists will by default be shown in the
        # "Radio" library, like iTunes does. However, some clients (like
        # TunesRemote+) won't show the "Radio" library. If you would also l=
ike
        # to have them shown like normal playlists, you can enable this opt=
ion.
#       radio_playlists =3D false

        # These are the default playlists. If you want them to have other
names,
        # you can set it here.
#       name_library    =3D "Library"
#       name_music      =3D "Music"
#       name_movies     =3D "Movies"
#       name_tvshows    =3D "TV Shows"
#       name_podcasts   =3D "Podcasts"
#       name_audiobooks =3D "Audiobooks"
#       name_radio      =3D "Radio"

        # Artwork file names (without file type extension)
        # OwnTone will look for jpg and png files with these base names
#       artwork_basenames =3D { "artwork", "cover", "Folder" }

        # Enable searching for artwork corresponding to each individual med=
ia
        # file instead of only looking for album artwork. This is disabled =
by
        # default to reduce cache size.
#       artwork_individual =3D false

        # File types the scanner should ignore
        # Non-audio files will never be added to the database, but here you
        # can prevent the scanner from even probing them. This might improve
        # scan time. By default .db, .ini, .db-journal, .pdf and .metadata =
are
        # ignored.
#       filetypes_ignore =3D { ".db", ".ini", ".db-journal", ".pdf", ".meta=
data"
}

        # File paths the scanner should ignore
        # If you want to exclude files on a more advanced basis you can ent=
er
        # one or more POSIX regular expressions, and any file with a matchi=
ng
        # path will be ignored.
#       filepath_ignore =3D { "myregex" }

        # Disable startup file scanning
        # When OwnTone starts it will do an initial file scan of your
        # library (and then watch it for changes). If you are sure your lib=
rary
        # never changes while OwnTone is not running, you can disable the
        # initial file scan and save some system ressources. Disabling this
scan
        # may lead to OwnTone's database coming out of sync with the
        # library. If that happens read the instructions in the README on h=
ow
        # to trigger a rescan.
#       filescan_disable =3D false

        # Only use the first genre found in metadata
        # Some tracks have multiple genres semicolon-separated in the same =
tag,
        # e.g. 'Pop;Rock'. If you don't want them listed like this, you can
        # enable this option and only the first genre will be used (i.e.
'Pop').
#       only_first_genre =3D false

        # Should metadata from m3u playlists, e.g. artist and title in EXTI=
NF,
        # override the metadata we get from radio streams?
#       m3u_overrides =3D false

        # Should iTunes metadata override ours?
#       itunes_overrides =3D false

        # Should we import the content of iTunes smart playlists?
#       itunes_smartpl =3D false

        # Decoding options for DAAP and RSP clients
        # Since iTunes has native support for mpeg, mp4a, mp4v, alac and wa=
v,
        # such files will be sent as they are. Any other formats will be
decoded
        # to raw wav. If OwnTone detects a non-iTunes DAAP client, it is
        # assumed to only support mpeg and wav, other formats will be decod=
ed.
        # Here you can change when to decode. Note that these settings only
        # affect serving media to DAAP and RSP clients, they have no effect=
 on
        # direct AirPlay, Chromecast and local audio playback.
        # Formats: mp4a, mp4v, mpeg, alac, flac, mpc, ogg, wma, wmal, wmav,
aif, wav
        # Formats that should never be decoded
#       no_decode =3D { "format", "format" }
        # Formats that should always be decoded
#       force_decode =3D { "format", "format" }

        # Set ffmpeg filters (similar to 'ffmpeg -af xxx') that you want the
        # server to use when decoding files from your library. Examples:
        #  { 'volume=3Dreplaygain=3Dtrack' } -> use REPLAYGAIN_TRACK_GAIN m=
etadata
        #  { 'loudnorm=3DI=3D-16:LRA=3D11:TP=3D-1.5' } -> normalize volume
#       decode_audio_filters =3D { }

        # Watch named pipes in the library for data and autostart playback =
when
        # there is data to be read. To exclude specific pipes from watching,
        # consider using the above _ignore options.
#       pipe_autostart =3D true

        # Enable automatic rating updates
        # If enabled, rating is automatically updated after a song has eith=
er
been
        # played or skipped (only skipping to the next song is taken into
account).
        # The calculation is taken from the beets plugin "mpdstats" (see
        # https://beets.readthedocs.io/en/latest/plugins/mpdstats.html).
        # It consist of calculating a stable rating based only on the play-=
 and
        # skipcount and a rolling rating based on the current rating and the
action
        # (played or skipped). Both results are combined with a mix-factor =
of
0.75:
        # new rating =3D 0.75 * stable rating + 0.25 * rolling rating)
#       rating_updates =3D false

        # Allows creating, deleting and modifying m3u playlists in the libr=
ary
directories.
        # Only supported by the player web interface and some mpd clients
        # Defaults to being disabled.
#       allow_modifying_stored_playlists =3D false

        # A directory in one of the library directories that will be used as
the default
        # playlist directory. OwnTone creates new playlists in this directo=
ry
if only
        # a playlist name is provided (requires "allow_modify_stored_playli=
sts"
set to true).
#       default_playlist_directory =3D ""

        # By default OwnTone will - like iTunes - clear the playqueue if
        # playback stops. Setting clear_queue_on_stop_disable to true will =
keep
        # the playlist like MPD does. Note that some dacp clients do not sh=
ow
        # the playqueue if playback is stopped.
#       clear_queue_on_stop_disable =3D false
}

# Local audio output
audio {
        # Name - used in the speaker list in Remote
        nickname =3D "Computer"

        # Type of the output (alsa, pulseaudio, dummy or disabled)
#       type =3D "alsa"

        # For pulseaudio output, an optional server hostname or IP can be
        # specified (e.g. "localhost"). If not set, connection is made via
local
        # socket.
#       server =3D ""

        # Audio PCM device name for local audio output - ALSA only
#       card =3D "default"

        # Mixer channel to use for volume control - ALSA only
        # If not set, PCM will be used if available, otherwise Master.
#       mixer =3D ""

        # Mixer device to use for volume control - ALSA only
        # If not set, the value for "card" will be used.
#       mixer_device =3D ""

        # Enable or disable audio resampling to keep local audio in sync wi=
th
        # e.g. Airplay. This feature relies on accurate ALSA measurements of
        # delay, and some devices don't provide that. If that is the case y=
ou
        # are better off disabling the feature.
#       sync_disable =3D false

        # Here you can adjust when local audio is started relative to other
        # speakers, e.g. Airplay. Negative values correspond to moving local
        # audio ahead, positive correspond to delaying it. The unit is
        # milliseconds. The offset must be between -1000 and 1000 (+/- 1 se=
c).
#       offset_ms =3D 0

        # To calculate what and if resampling is required, local audio dela=
y is
        # measured each second. After a period the collected measurements a=
re
        # used to estimate drift and latency, which determines if correctio=
ns
        # are required. This setting sets the length of that period in seco=
nds.
#       adjust_period_seconds =3D 100
}

# ALSA device settings
# If you have multiple ALSA devices you can configure them individually via
# sections like the below. Make sure to set the "card name" correctly. See =
the
# README about ALSA for details. Note that these settings will override the
ALSA
# settings in the "audio" section above.
#alsa "card name" {
        # Name used in the speaker list. If not set, the card name will be
used.
#       nickname =3D "Computer"

        # Mixer channel to use for volume control
        # If not set, PCM will be used if available, otherwise Master
#       mixer =3D ""

        # Mixer device to use for volume control
        # If not set, the card name will be used
#       mixer_device =3D ""
#}

# Pipe output
# Allows OwnTone to output audio data to a named pipe
#fifo {
#       nickname =3D "fifo"
#       path =3D "/path/to/fifo"
#}

# AirPlay settings common to all devices
#airplay_shared {
        # UDP ports used when airplay devices make connections back to
        # OwnTone (choosing specific ports may be helpful when running
        # OwnTone behind a firewall)
#       control_port =3D 0
#       timing_port =3D 0

        # Switch Airplay 1 streams to uncompressed ALAC (as opposed to regu=
lar,
        # compressed ALAC). Reduces CPU use at the cost of network bandwidt=
h.
#       uncompressed_alac =3D false
#}

# AirPlay per device settings
# (make sure you get the capitalization of the device name right)
#airplay "My AirPlay device" {
        # OwnTone's volume goes to 11! If that's more than you can handle
        # you can set a lower value here
#       max_volume =3D 11

        # Enable this option to exclude a particular AirPlay device from the
        # speaker list
#       exclude =3D false

        # Enable this option to keep a particular AirPlay device in the spe=
aker
        # list and thus ignore mdns notifications about it no longer being
        # present. The speaker will remain until restart of OwnTone.
#       permanent =3D false

        # Some devices spuriously disconnect during playback, and based on =
the
        # device type OwnTone may attempt to reconnect. Setting this option
        # overrides this so reconnecting is either always enabled or disabl=
ed.
#       reconnect =3D false

        # AirPlay password
#       password =3D "s1kr3t"

        # Disable AirPlay 1 (RAOP)
#       raop_disable =3D false

        # Name used in the speaker list, overrides name from the device
#       nickname =3D "My speaker name"
#}

# Chromecast settings
# (make sure you get the capitalization of the device name right)
#chromecast "My Chromecast device" {
        # OwnTone's volume goes to 11! If that's more than you can handle
        # you can set a lower value here
#       max_volume =3D 11

        # Enable this option to exclude a particular device from the speaker
        # list
#       exclude =3D false

        # Name used in the speaker list, overrides name from the device
#       nickname =3D "My speaker name"
#}

# Spotify settings (only have effect if Spotify enabled - see README/INSTAL=
L)
spotify {
        # Set preferred bitrate for music streaming
        # 0: No preference (default), 1: 96kbps, 2: 160kbps, 3: 320kbps
#       bitrate =3D 0

        # Your Spotify playlists will by default be put in a "Spotify" play=
list
        # folder. If you would rather have them together with your other
        # playlists you can set this option to true.
#       base_playlist_disable =3D false

        # Spotify playlists usually have many artist, and if you don't want
        # every artist to be listed when artist browsing in Remote, you can=
 set
        # the artist_override flag to true. This will use the
compilation_artist
        # as album artist for Spotify items.
#       artist_override =3D false

        # Similar to the different artists in Spotify playlists, the playli=
st
        # items belong to different albums, and if you do not want every al=
bum
        # to be listed when browsing in Remote, you can set the album_overr=
ide
        # flag to true. This will use the playlist name as album name for
        # Spotify items. Notice that if an item is in more than one playlis=
t,
        # it will only appear in one album when browsing (in which album is
        # random).
#       album_override =3D false
}

# RCP/Roku Soundbridge output settings
# (make sure you get the capitalization of the device name right)
#rcp "My SoundBridge device" {
        # Enable this option to exclude a particular device from the speaker
        # list
#       exclude =3D false

        # A Roku/SoundBridge can power up in 2 modes: (default) reconnect to
the
        # previously used library (ie OwnTone) or in a 'cleared library' mo=
de.
        # The Roku power up behaviour is affected by how OwnTone disconnects
        # from the Roku device.
        #
        # Set to false to maintain default Roku power on behaviour
#       clear_on_close =3D false
#}


# MPD configuration (only have effect if MPD enabled - see README/INSTALL)
mpd {
        # TCP port to listen on for MPD client requests.
        # Default port is 6600, set to 0 to disable MPD support.
#       port =3D 6600

        # HTTP port to listen for artwork requests (only supported by some =
MPD
        # clients and will need additional configuration in the MPD client =
to
        # work). Set to 0 to disable serving artwork over http.
#       http_port =3D 0
}

# SQLite configuration (allows to modify the operation of the SQLite databa=
ses)
# Make sure to read the SQLite documentation for the corresponding PRAGMA
# statements as changing them from the defaults may increase the possibilit=
y of
# database corruptions! By default the SQLite default values are used.
sqlite {
        # Cache size in number of db pages for the library database
        # (SQLite default page size is 1024 bytes and cache size is 2000 pa=
ges)
#       pragma_cache_size_library =3D 2000

        # Cache size in number of db pages for the daap cache database
        # (SQLite default page size is 1024 bytes and cache size is 2000 pa=
ges)
#       pragma_cache_size_cache =3D 2000

        # Sets the journal mode for the database
        # DELETE (default), TRUNCATE, PERSIST, MEMORY, WAL, OFF
#       pragma_journal_mode =3D DELETE

        # Change the setting of the "synchronous" flag
        # 0: OFF, 1: NORMAL, 2: FULL (default)
#       pragma_synchronous =3D 2

        # Number of bytes set aside for memory-mapped I/O  for the library
database
        # (requires sqlite 3.7.17 or later)
        # 0: disables mmap (default), any other value > 0: number of bytes =
for
mmap
#       pragma_mmap_size_library =3D 0

        # Number of bytes set aside for memory-mapped I/O for the cache
database
        # (requires sqlite 3.7.17 or later)
        # 0: disables mmap (default), any other value > 0: number of bytes =
for
mmap
#       pragma_mmap_size_cache =3D 0

        # Should the database be vacuumed on startup? (increases startup ti=
me,
        # but may reduce database size). Default is yes.
#       vacuum =3D yes
}

# Streaming audio settings for remote connections (ie stream.mp3)
streaming {
        # Sample rate, typically 44100 or 48000
#       sample_rate =3D 44100

        # Set the MP3 streaming bit rate (in kbps), valid options: 64 / 96 /
128 / 192 / 320
#       bit_rate =3D 192
}
```
Please, let me know how can I assist you to debug the issue or understand t=
he
documentation in case the configuration wouldn't be correct.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?>