Code Monkey home page Code Monkey logo

Comments (6)

maedas avatar maedas commented on July 18, 2024

(I'm sorry if this is bad formatting, it is late where I am and I just wanted to commit the logs before forgetting. Please inform me if you need more information regarding this)

I fixed it by creating a new config over the old one.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on July 18, 2024

What gerbera version is this?
Can you share the first error, because this is only the smoke after the crash?

from gerbera.

efermi avatar efermi commented on July 18, 2024

@KarlStraussberger, I think I'm hitting the same bug while scanning the attached file, at least the log looks practically identical.
gerbera-crash-fk-constraint-failed.zip
This is on current head, both gerbera-git from AUR and the docker build. To be precise it crashes with SIGSEGV on the initial scan, and that error is being logged only on restart.

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on July 18, 2024

I'm sorry, but the file isn't the issue.

Maybe you can start gerbera in gdb or attach it afterwards with gdb gerbera _PID_ to get the exact location of the crash.

from gerbera.

efermi avatar efermi commented on July 18, 2024

I've used the included Dockerfile.debug to build gerbera, here is the gdb run:

/ # gdb --args /bin/gerbera -c /var/run/gerbera/config.xml
GNU gdb (GDB) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alpine-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /bin/gerbera...
(gdb) run
Starting program: /bin/gerbera -c /var/run/gerbera/config.xml
warning: Error disabling address space randomization: Operation not permitted
2024-04-01 19:48:25   info: Gerbera UPnP Server v2.0.0-72-g237ec777 - https://gerbera.io/
2024-04-01 19:48:25   info: Copyright 2016-2024 Gerbera Contributors.
2024-04-01 19:48:25   info: Gerbera is free software, covered by the GNU General Public License version 2
2024-04-01 19:48:25   info: Loading configuration from: /var/run/gerbera/config.xml
2024-04-01 19:48:25   info: Parsing configuration...
2024-04-01 19:48:25   info: Configuration load succeeded.
2024-04-01 19:48:25   info: Validating configuration...
2024-04-01 19:48:25   info: Configuration check succeeded.
[New LWP 50]
[New LWP 51]
2024-04-01 19:48:26 warning: Sqlite3 database seems to be corrupt or doesn't exist yet.
2024-04-01 19:48:26   info: No sqlite3 backup is available or backup is corrupt. Automatically creating new database file...
2024-04-01 19:48:26   info: database created successfully.
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'size'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'duration'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'bitrate'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'sampleFrequency'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'nrAudioChannels'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'resolution'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'colorDepth'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'protocolInfo'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'resFile'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'type'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'fanArtObject'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'fanArtResource'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'bitsPerSample'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'dc:language'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'sec:acodec'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'sec:vcodec'
2024-04-01 19:48:26   info: 'grb_cds_resource': Adding column 'format'
2024-04-01 19:48:26   info: Loading 0 configuration items from database
[New LWP 52]
[New LWP 53]
[New LWP 54]
[New LWP 55]
2024-04-01 19:48:27   info: Initialising UPnP with interface: <unset>, port: <unset>
[New LWP 56]
[New LWP 57]
[New LWP 58]
[New LWP 59]
[New LWP 60]
[New LWP 61]
[New LWP 62]
[New LWP 63]
2024-04-01 19:48:27   info: IPv4: Server bound to: 192.168.1.134:49153
2024-04-01 19:48:27   info: IPv6: Server bound to: fe80::2301:2b74:f664:8b14:49153
2024-04-01 19:48:27   info: IPv6 ULA/GLA: Server bound to: :0
[New LWP 64]
[New LWP 65]
[New LWP 66]
[New LWP 67]
2024-04-01 19:48:27   info: The Web UI can be reached by following this link: http://192.168.1.134:49153
[New LWP 68]

Thread 6 "gerbera" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 54]
0x0000650482a6689d in CdsObject::setFlag (this=0x0, mask=2) at /gerbera_build/src/cds/cds_objects.h:194
194     /gerbera_build/src/cds/cds_objects.h: No such file or directory.
(gdb) bt
#0  0x0000650482a6689d in CdsObject::setFlag (this=0x0, mask=2) at /gerbera_build/src/cds/cds_objects.h:194
#1  0x0000650482a668e1 in CdsObject::changeFlag (this=0x0, mask=2, value=true)
    at /gerbera_build/src/cds/cds_objects.h:200
#2  0x0000650482a669a2 in CdsContainer::setSearchable (this=0x0, searchable=true)
    at /gerbera_build/src/cds/cds_container.h:60
#3  0x0000650482a63920 in BuiltinLayout::addAudio (this=0x70ab8e98feb0, obj=..., parent=..., rootpath=...,
    containerMap=...) at /gerbera_build/src/content/layout/builtin_layout.cc:438
#4  0x0000650482a6c0c4 in Layout::processCdsObject (this=0x70ab8e98feb0, obj=..., parent=..., rootpath=...,
    contentType=..., containerMap=...) at /gerbera_build/src/content/layout/layout.cc:62
#5  0x0000650482a3c918 in ImportService::fillSingleLayout (this=0x70ab8e9b2cd0, state=..., object=..., parent=...,
    task=...) at /gerbera_build/src/content/import_service.cc:602
#6  0x0000650482a0074f in ContentManager::createSingleItem (this=0x70ab8f407db0, dirEnt=..., parent=...,
    rootPath=..., followSymlinks=true, checkDatabase=true, processExisting=false, firstChild=false, adir=...,
    task=...) at /gerbera_build/src/content/content_manager.cc:433
#7  0x0000650482a00cad in ContentManager::_addFile (this=0x70ab8f407db0, dirEnt=..., rootPath=..., asSetting=...,
    task=...) at /gerbera_build/src/content/content_manager.cc:468
#8  0x0000650482a0c4d1 in ContentManager::addFileInternal (this=0x70ab8f407db0, dirEnt=..., rootpath=...,
    asSetting=..., lowPriority=false, parentTaskID=0, cancellable=true)
    at /gerbera_build/src/content/content_manager.cc:1340
#9  0x0000650482a041cc in ContentManager::_rescanDirectory (this=0x70ab8f407db0, adir=..., containerID=3, task=...)
    at /gerbera_build/src/content/content_manager.cc:753
#10 0x0000650482baaddc in CMRescanDirectoryTask::run (this=0x70ab8e910ad0)
    at /gerbera_build/src/content/cm_task.cc:105
#11 0x0000650482a0baa8 in ContentManager::threadProc (this=0x70ab8f407db0)
    at /gerbera_build/src/content/content_manager.cc:1287
#12 0x00006504829fce64 in operator() (__closure=0x70ab8ea7e038, arg=0x70ab8f407db0)
    at /gerbera_build/src/content/content_manager.cc:120
#13 0x0000650482a114d8 in std::__invoke_impl<void*, ContentManager::run()::<lambda(void*)>&, void*>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/12.2.1/bits/invoke.h:61
#14 0x0000650482a1134e in std::__invoke_r<void, ContentManager::run()::<lambda(void*)>&, void*>(struct {...} &) (
    __fn=...) at /usr/include/c++/12.2.1/bits/invoke.h:111
#15 0x0000650482a1105a in std::_Function_handler<void(void*), ContentManager::run()::<lambda(void*)> >::_M_invoke(const std::_Any_data &, void *&&) (__functor=..., __args#0=@0x70ab8ea33720: 0x70ab8f407db0)
    at /usr/include/c++/12.2.1/bits/std_function.h:290
--Type <RET> for more, q to quit, c to continue without paging--c
#16 0x0000650482a26d71 in std::function<void (void*)>::operator()(void*) const (this=0x70ab8ea7e038, __args#0=0x70ab8f407db0) at /usr/include/c++/12.2.1/bits/std_function.h:591
#17 0x0000650482a22ec9 in ThreadRunner<std::_V2::condition_variable_any, std::recursive_mutex>::startThread()::{lambda(void*)#1}::operator()(void*) const (__closure=0x0, arg=0x70ab8ea7dfa0) at /gerbera_build/src/util/thread_runner.h:182
#18 0x0000650482a22ef0 in ThreadRunner<std::_V2::condition_variable_any, std::recursive_mutex>::startThread()::{lambda(void*)#1}::_FUN(void*) () at /gerbera_build/src/util/thread_runner.h:180
#19 0x000070ab95781088 in ?? () from /lib/ld-musl-x86_64.so.1
#20 0x0000000000000000 in ?? ()
(gdb) frame 3
#3  0x0000650482a63920 in BuiltinLayout::addAudio (this=0x70ab8e98feb0, obj=..., parent=..., rootpath=..., containerMap=...)
    at /gerbera_build/src/content/layout/builtin_layout.cc:438
438     /gerbera_build/src/content/layout/builtin_layout.cc: No such file or directory.
(gdb) info args
this = 0x70ab8e98feb0
obj = @0x70ab8ea32ad0: {<std::__shared_ptr<CdsObject, (__gnu_cxx::_Lock_policy)2>> = {<std::__shared_ptr_access<CdsObject, (__gnu_cxx::_Lock_policy)2, false, false>> = {<No data fields>}, _M_ptr = 0x70ab8e950fc0, _M_refcount = {_M_pi = 0x70ab8e950fb0}}, <No data fields>}
parent = @0x70ab8ea32f30: {<std::__shared_ptr<CdsContainer, (__gnu_cxx::_Lock_policy)2>> = {<std::__shared_ptr_access<CdsContainer, (__gnu_cxx::_Lock_policy)2, false, false>> = {<No data fields>}, _M_ptr = 0x70ab8e96ece0, _M_refcount = {_M_pi = 0x70ab8e96ecd0}}, <No data fields>}
rootpath = @0x70ab8e9b2de8: {static preferred_separator = 47 '/', _M_pathname = {static npos = 18446744073709551615,
    _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x70ab8e9b2df8 "/mnt/content"}, _M_string_length = 12, {
      _M_local_buf = "/mnt/content\000p\000", _M_allocated_capacity = 7957688122054962479}}, _M_cmpts = {_M_impl = {
      _M_t = {<std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>> = {
          _M_t = {<std::_Tuple_impl<0, std::filesystem::__cxx11::path::_List::_Impl*, std::filesystem::__cxx11::path::_List::_Impl_deleter>> = {<std::_Tuple_impl<1, std::filesystem::__cxx11::path::_List::_Impl_deleter>> = {<std::_Head_base<1, std::filesystem::__cxx11::path::_List::_Impl_deleter, true>> = {
                  _M_head_impl = {<No data fields>}}, <No data fields>}, <std::_Head_base<0, std::filesystem::__cxx11::path::_List::_Impl*, false>> = {
                _M_head_impl = 0x70ab8e99b8d0}, <No data fields>}, <No data fields>}}, <No data fields>}}}}
containerMap = @0x70ab8f7758e0: {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<AutoscanMediaMode const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<std::__new_allocator<std::_Rb_tree_node<std::pair<AutoscanMediaMode const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, <std::_Rb_tree_key_compare<std::less<AutoscanMediaMode> >> = {
        _M_key_compare = {<std::binary_function<AutoscanMediaMode, AutoscanMediaMode, bool>> = {<No data fields>}, <No data fields>}}, <std::_Rb_tree_header> = {_M_header = {
          _M_color = std::_S_red, _M_parent = 0x70ab8f42cd90, _M_left = 0x70ab8f42ce30, _M_right = 0x70ab8f42cde0}, _M_node_count = 3}, <No data fields>}}}
(gdb) info locals
f2i = {_M_t = {<std::__uniq_ptr_impl<StringConverter, std::default_delete<StringConverter> >> = {
      _M_t = {<std::_Tuple_impl<0, StringConverter*, std::default_delete<StringConverter> >> = {<std::_Tuple_impl<1, std::default_delete<StringConverter> >> = {<std::_Head_base<1, std::default_delete<StringConverter>, true>> = {_M_head_impl = {<No data fields>}}, <No data fields>}, <std::_Head_base<0, StringConverter*, false>> = {
            _M_head_impl = 0x70ab8e6e1570}, <No data fields>}, <No data fields>}}, <No data fields>}}
blOption = {<std::__shared_ptr<BoxLayoutList, (__gnu_cxx::_Lock_policy)2>> = {<std::__shared_ptr_access<BoxLayoutList, (__gnu_cxx::_Lock_policy)2, false, false>> = {<No data fields>}, _M_ptr = 0x70ab8f43f9b0, _M_refcount = {_M_pi = 0x70ab8f43f9a0}}, <No data fields>}
desc = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8e7da020 "David Bowie, Lost Highway, I'm Deranged (Edit), 1997"}, _M_string_length = 52, {_M_local_buf = "4\000\000\000\000\000\000\000wie\000\253p\000",
    _M_allocated_capacity = 52}}
__FUNCTION__ = "addAudio"
title = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8e6e1590 "I'm Deranged (Edit)"}, _M_string_length = 19, {_M_local_buf = "\023\000\000\000\000\000\000\000\240(Y\225\253p\000", _M_allocated_capacity = 19}}
artist = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea32870 "David Bowie"}, _M_string_length = 11, {_M_local_buf = "David Bowie\000\000\000\000", _M_allocated_capacity = 8017005902311088452}}
artistFull = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea32890 "David Bowie"}, _M_string_length = 11, {_M_local_buf = "David Bowie\000\004e\000", _M_allocated_capacity = 8017005902311088452}}
album = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea328b0 "Lost Highway"}, _M_string_length = 12, {_M_local_buf = "Lost Highway\000p\000", _M_allocated_capacity = 7451566362691071820}}
albumFull = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea328d0 "Lost Highway"}, _M_string_length = 12, {_M_local_buf = "Lost Highway\000\000\000", _M_allocated_capacity = 7451566362691071820}}
date = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea328f0 "1997"}, _M_string_length = 4, {_M_local_buf = "1997\000\060\061-01\000\202\004e\000", _M_allocated_capacity = 3256436783050209585}}
albumDate = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea32910 "1997"}, _M_string_length = 4, {_M_local_buf = "1997\000p\000\000\260\020\225\216\253\001\001\001", _M_allocated_capacity = 123146228807985}}
genre = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea32930 "Unknown"}, _M_string_length = 7, {_M_local_buf = "Unknown\000\001\000\000\000\001\000\000", _M_allocated_capacity = 31093567915781717}}
description = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8e6e19c0 "Lost Highway (David Lynch, 1997) OST"}, _M_string_length = 36, {_M_local_buf = "$\000\000\000\000\000\000\000\260\017\225\216\253p\000",
    _M_allocated_capacity = 36}}
composer = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8ea32970 "None"}, _M_string_length = 4, {_M_local_buf = "None\000\000\000\000\260\017\225\216\253p\000", _M_allocated_capacity = 1701736270}}
id = {<std::__pair_base<int, bool>> = {<No data fields>}, first = 36, second = true}
artistContainer = {<std::__shared_ptr<CdsContainer, (__gnu_cxx::_Lock_policy)2>> = {<std::__shared_ptr_access<CdsContainer, (__gnu_cxx::_Lock_policy)2, false, false>> = {<No data fields>}, _M_ptr = 0x0, _M_refcount = {_M_pi = 0x0}}, <No data fields>}
prefixTitle = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<std::__new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x70ab8e6e1ea0 "David Bowie - Lost Highway - "}, _M_string_length = 29, {_M_local_buf = "\035\000\000\000\000\000\000\000wie\000\004e\000",
    _M_allocated_capacity = 29}}
albumContainer = {<std::__shared_ptr<CdsContainer, (__gnu_cxx::_Lock_policy)2>> = {<std::__shared_ptr_access<CdsContainer, (__gnu_cxx::_Lock_policy)2, false, false>> = {<No data fields>}, _M_ptr = 0x0, _M_refcount = {_M_pi = 0x0}}, <No data fields>}
(gdb)

from gerbera.

KarlStraussberger avatar KarlStraussberger commented on July 18, 2024

That was a really good prepared detail. Thank you.

from gerbera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.