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

Segmentation fault on startup with Arch Linux (gdb backtrace and config within) #21

Open
Azelphur opened this issue Apr 8, 2016 · 1 comment

Comments

@Azelphur
Copy link

Azelphur commented Apr 8, 2016

Hi, I'm getting a segmentation fault on startup with Arch Linux. Hopefully someone can help me

Here's the backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x000000000057a847 in Font::renderTextCache (this=<optimized out>, cache=0xd47be0) at /home/azelphur/emulationstation-git/src/EmulationStation/es-core/src/resources/Font.cpp:538
538 /home/azelphur/emulationstation-git/src/EmulationStation/es-core/src/resources/Font.cpp: No such file or directory.
(gdb) bt full
#0  0x000000000057a847 in Font::renderTextCache (this=<optimized out>, cache=0xd47be0) at /home/azelphur/emulationstation-git/src/EmulationStation/es-core/src/resources/Font.cpp:538
        it = {textureIdPtr = , verts = std::vector of length 0, capacity 0, colors = std::vector of length 0, capacity 0}
        __PRETTY_FUNCTION__ = "void Font::renderTextCache(TextCache*)"
#1  0x0000000000568e78 in TextComponent::render (this=0x214a0e0, parentTrans=...) at /home/azelphur/emulationstation-git/src/EmulationStation/es-core/src/components/TextComponent.cpp:116
        textSize = <optimized out>
        trans = {
          m_matrix = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 4, 0, 4, 4>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1080, 2276, 0, 1}}}}, <No data fields>}}
#2  0x00000000004e7c72 in SystemView::render (this=0xd09310, parentTrans=...) at /home/azelphur/emulationstation-git/src/EmulationStation/es-app/src/views/SystemView.cpp:322
        comp = std::shared_ptr (count 1, weak 0) 0x214a0e0
        index = <optimized out>
        i = 0
        trans = {
          m_matrix = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 4, 0, 4, 4>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1620, 0, 1}}}}, <No data fields>}}
        logoSizeX = 1072.80005
        logoCount = <optimized out>
        center = 0
        extrasTrans = {
          m_matrix = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 4, 0, 4, 4>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2880, 1620, 0, 1}}}}, <No data fields>}}
        extrasCenter = -9808
        xOff = 1080
        yOff = 684.450012
        logoTrans = {
          m_matrix = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 4, 0, 4, 4>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1080, 2304.44995, 0, 1}}}}, <No data fields>}}
#3  0x00000000004ef227 in ViewController::render (this=0xaaea50, parentTrans=...) at /home/azelphur/emulationstation-git/src/EmulationStation/es-app/src/views/ViewController.cpp:297
        trans = {
          m_matrix = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 4, 0, 4, 4>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1}}}}, <No data fields>}}
        viewStart = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 3, 1, 0, 3, 1>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 3, 1, 0, 3, 1>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 3, 1, 0, 3, 1>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 3, 1, 0, 3, 1>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 3, 1, 0, 3, 1>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {-0, -0, <optimized out>}}}}, <No data fields>}
#4  0x000000000053fd10 in Window::render (this=this@entry=0x7fffffffdcd0) at /home/azelphur/emulationstation-git/src/EmulationStation/es-core/src/Window.cpp:190
        transform = {
          m_matrix = {<Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 4, 0, 4, 4>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>, false>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 3>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 1>> = {<Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 0, 4, 4>, 0>> = {<Eigen::EigenBase<Eigen::Matrix<float, 4, 4, 0, 4, 4> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_storage = {m_data = {array = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1}}}}, <No data fields>}}
        screensaverTime = <optimized out>
#5  0x000000000045df23 in main (argc=<optimized out>, argv=<optimized out>) at /home/azelphur/emulationstation-git/src/EmulationStation/es-app/src/main.cpp:331
        event = {type = 512, common = {type = 512, timestamp = 1512}, window = {type = 512, timestamp = 1512, windowID = 2, event = 3 '\003', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', data1 = 0, data2 = 0}, key = {type = 512, timestamp = 1512, windowID = 2, state = 3 '\003', repeat = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', keysym = {scancode = SDL_SCANCODE_UNKNOWN, sym = 0, mod = 0, unused = 0}}, edit = {type = 512, timestamp = 1512, windowID = 2, 
            text = "\003", '\000' <repeats 19 times>, "Pj\253\000\000\000\000\000\000}\263", <incomplete sequence \341>, start = 1743317721, length = 11234832}, text = {type = 512, timestamp = 1512, windowID = 2, text = "\003", '\000' <repeats 19 times>, "Pj\253\000\000\000\000\000\000}\263", <incomplete sequence \341>}, motion = {type = 512, timestamp = 1512, windowID = 2, which = 3, state = 0, x = 0, y = 0, xrel = 0, yrel = 11233872}, button = {type = 512, timestamp = 1512, windowID = 2, which = 3, button = 0 '\000', state = 0 '\000', 
            clicks = 0 '\000', padding1 = 0 '\000', x = 0, y = 0}, wheel = {type = 512, timestamp = 1512, windowID = 2, which = 3, x = 0, y = 0, direction = 0}, jaxis = {type = 512, timestamp = 1512, which = 2, axis = 3 '\003', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', value = 0, padding4 = 0}, jball = {type = 512, timestamp = 1512, which = 2, ball = 3 '\003', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', xrel = 0, yrel = 0}, jhat = {type = 512, timestamp = 1512, which = 2, hat = 3 '\003', 
            value = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000'}, jbutton = {type = 512, timestamp = 1512, which = 2, button = 3 '\003', state = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000'}, jdevice = {type = 512, timestamp = 1512, which = 2}, caxis = {type = 512, timestamp = 1512, which = 2, axis = 3 '\003', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', value = 0, padding4 = 0}, cbutton = {type = 512, timestamp = 1512, which = 2, button = 3 '\003', state = 0 '\000', padding1 = 0 '\000', 
            padding2 = 0 '\000'}, cdevice = {type = 512, timestamp = 1512, which = 2}, adevice = {type = 512, timestamp = 1512, which = 2, iscapture = 3 '\003', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000'}, quit = {type = 512, timestamp = 1512}, user = {type = 512, timestamp = 1512, windowID = 2, code = 3, data1 = 0x0, data2 = 0x0}, syswm = {type = 512, timestamp = 1512, msg = 0x300000002}, tfinger = {type = 512, timestamp = 1512, touchId = 12884901890, fingerId = 0, x = 0, y = 0, dx = 1.57420076e-38, dy = 0, 
            pressure = -4.13871799e+20}, mgesture = {type = 512, timestamp = 1512, touchId = 12884901890, dTheta = 0, dDist = 0, x = 0, y = 0, numFingers = 27216, padding = 171}, dgesture = {type = 512, timestamp = 1512, touchId = 12884901890, gestureId = 0, numFingers = 0, error = 0, x = 1.57420076e-38, y = 0}, drop = {type = 512, timestamp = 1512, file = 0x300000002 <error: Cannot access memory at address 0x300000002>}, 
          padding = "\000\002\000\000\350\005\000\000\002\000\000\000\003", '\000' <repeats 19 times>, "Pj\253\000\000\000\000\000\000}\263\341\331\352\350g\020n\253\000\000\000\000"}
        curTime = 1512
        deltaTime = 1
        width = 0
        height = 0
        window = {mHelp = 0xa77d10, mBackgroundOverlay = 0xa8a9e0, mGuiStack = std::vector of length 2, capacity 2 = {0xaaea50, 0x21130a0}, mDefaultFonts = std::vector of length 3, capacity 4 = {std::shared_ptr (count 6, weak 2) 0xd47fa0, std::shared_ptr (count 4, weak 2) 0xd47e40, std::shared_ptr (count 5, weak 2) 0xd481e0}, mFrameTimeElapsed = 1, mFrameCountElapsed = 1, mAverageDeltaTime = 10, mFrameDataText = std::unique_ptr<TextCache> containing 0x0, mNormalizeNextUpdate = false, mAllowSleep = true, mSleeping = false, 
          mTimeSinceLastInput = 1, mRenderedHelpPrompts = false}
        errorMsg = 0x0
        lastTime = 1512
        running = <optimized out>

and here's the config

<!-- This is the EmulationStation Systems configuration file.
All systems must be contained within the <systemList> tag.-->

<systemList>
    <!-- Here's an example system to get you started. -->
    <system>

        <!-- A short name, used internally. Traditionally lower-case. -->
        <name>gamecube</name>

        <!-- A "pretty" name, displayed in menus and such. -->
        <fullname>Nintendo Gamecube</fullname>

        <!-- The path to start searching for ROMs in. '~' will be expanded to $HOME on Linux or %HOMEPATH% on Windows. -->
        <path>/home/emulationstation/Emulation/Gamecube</path>

        <!-- A list of extensions to search for, delimited by any of the whitespace characters (", \r\n\t").
        You MUST include the period at the start of the extension! It's also case sensitive. -->
        <extension>.iso</extension>

        <!-- The shell command executed when a game is selected. A few special tags are replaced if found in a command:
        %ROM% is replaced by a bash-special-character-escaped absolute path to the ROM.
        %BASENAME% is replaced by the "base" name of the ROM.  For example, "/foo/bar.rom" would have a basename of "bar". Useful for MAME.
        %ROM_RAW% is the raw, unescaped path to the ROM. -->
        <command>retroarch -L ~/cores/libretro-fceumm.so %ROM%</command>

        <!-- The platform to use when scraping. You can see the full list of accepted platforms in src/PlatformIds.cpp.
        It's case sensitive, but everything is lowercase. This tag is optional.
        You can use multiple platforms too, delimited with any of the whitespace characters (", \r\n\t"), eg: "genesis, megadrive" -->
        <platform>gc</platform>

        <!-- The theme to load from the current theme set.  See THEMES.md for more information.
        This tag is optional. If not set, it will default to the value of <name>. -->
        <theme>gc</theme>
    </system>
</systemList>

Thanks folks! :)

@Azelphur
Copy link
Author

Azelphur commented Apr 8, 2016

After much fiddling, I managed to get it working, I think this is down to a combination of issues.

  1. Arch doesn't seem to bundle the "simple" theme with EmulationStation - I think EmulationStation is supposed to work without the theme, however.
  2. The version of the theme in AUR seems to be outdated.

To work around this, I downloaded the Windows zip version of EmulationStation, took the themes directory and dropped it in ~/.config/emulationstation/themes

So, probably still a bug, but at least it has a workaround. Yay! :)

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

No branches or pull requests

1 participant