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

MultiMC Segmentation fault #2591

Closed
kharnox opened this issue Apr 7, 2019 · 15 comments
Closed

MultiMC Segmentation fault #2591

kharnox opened this issue Apr 7, 2019 · 15 comments
Labels

Comments

@kharnox
Copy link

kharnox commented Apr 7, 2019

System Information

MultiMC version: 0.6.5-custom
Operating System: Arch Linux

Summary of the issue or suggestion:

When launching a modpack (Project Ozone 3) MultiMC craches
Segmentation fault

Steps to reproduce the issue (Add more if needed):

  1. Launch MultiMC
  2. Start modpack
  3. MultiMC crash

Suspected cause:

I was able to start MultiMC a few hours ago.
I was having issue when starting a modpack where it would crash because of the graphical driver I was using (nouveau).

According to a post I was checking, the issue was the driver and installing the nvidia driver appeared to have solve the issue.
I installed the nvidia driver using the package manager and the following command to configure it # nvidia-xconfig

I rebooted and now MultiMC crashes.
I thought it would be caused because of how it was compiled, so I reinstalled it from the AUR, but same issue.

Logs/Screenshots:

0.307 D News loading succeeded.
0.335 D Download succeeded: "https://files.multimc.org/translations/index_v2.json"
0.335 D Task "NetJob(Translations Index)" succeeded
0.335 D Got translations index!
0.335 D Dir changed: "/home/kharnox/.local/share/multimc/translations"
0.569 D Download succeeded: "https://status.mojang.com/check"
0.569 D Task "NetJob(Status JSON)" succeeded
0.569 D Finished loading status JSON.
0.569 D Status loading succeeded.
0.974 D Download succeeded: "https://crafatar.com/skins/a2d19a5ce4364e4c86bb6a54affb7732.png"
0.974 D Task "NetJob(Startup player skins download)" succeeded
5.557 D Task "LaunchController(0x5631f53cb730)" starting for the first time
5.557 D Task "RefreshTask(0x5631f51c7bc0)" starting for the first time
5.814 D Processing authentication response.
5.814 D Getting new access token.
5.814 D Finished reading refresh response.
5.814 D Task "RefreshTask(0x5631f51c7bc0)" succeeded
5.814 D Writing account list to "accounts.json"
5.814 D Building JSON data structure.
5.814 D Building account array.
5.814 D Writing account list to file.
5.814 D Saved account list to "accounts.json"

[1] 12979 segmentation fault (core dumped) multimc

Those are the last logs from MultiMC

Additional Info:

@peterix
Copy link
Member

peterix commented Apr 7, 2019

Well, I'd say rebuild with debug symbols and get me a stack trace from gdb.

@peterix peterix added the system: Linux Linux specific issues (dependency hell, packaging, etc.) label Apr 7, 2019
@a-ozkan
Copy link

a-ozkan commented Apr 7, 2019

Same problem... after recent Archlinux updates:
icu (63.1-2 -> 64.1-1)
libxml2 (2.9.9-1 -> 2.9.9-2)
harfbuzz (2.4.0-1 -> 2.4.0-2)
harfbuzz-icu (2.4.0-1 -> 2.4.0-2)
qt5-base (5.12.2-1 -> 5.12.2-2)

İf downgrade this packages everythings normal for multimc. But other programs segfault...

@sebastianulm
Copy link

sebastianulm commented Apr 7, 2019

Not op but same problem (Archlinux)

Here is a backtrace with debugging symbols:

Thread 1 "MultiMC" received signal SIGSEGV, Segmentation fault.
std::_Sp_counted_ptr_inplace<TextPrint, std::allocator<TextPrint>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter (this=0x555555a0b710,  type_info node=...)
    at /usr/include/c++/8.2.1/bits/shared_ptr_base.h:573
573		else if (__ti == typeid(_Sp_make_shared_tag))
(gdb) bt
#0  std::_Sp_counted_ptr_inplace<TextPrint, std::allocator<TextPrint>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter (this=0x555555a0b710,  type_info node=...)
    at /usr/include/c++/8.2.1/bits/shared_ptr_base.h:573
#1  0x00007ffff77a66f6 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_get_deleter (this=<optimized out>,  type_info node=...) at /usr/include/c++/8.2.1/bits/shared_ptr_base.h:750
#2  std::__shared_ptr<TextPrint, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<TextPrint>, LaunchTask*&, QString const, MessageLevel::Enum> (__tag=..., __a=..., 
    this=<optimized out>) at /usr/include/c++/8.2.1/bits/shared_ptr_base.h:1328
#3  std::shared_ptr<TextPrint>::shared_ptr<std::allocator<TextPrint>, LaunchTask*&, QString const, MessageLevel::Enum> (__a=..., __tag=..., this=<optimized out>)
    at /usr/include/c++/8.2.1/bits/shared_ptr.h:360
#4  std::allocate_shared<TextPrint, std::allocator<TextPrint>, LaunchTask*&, QString const, MessageLevel::Enum> (__a=...) at /usr/include/c++/8.2.1/bits/shared_ptr.h:707
#5  std::make_shared<TextPrint, LaunchTask*&, QString const, MessageLevel::Enum> () at /usr/include/c++/8.2.1/bits/shared_ptr.h:723
#6  MinecraftInstance::createLaunchTask (this=0x555555a7c630, session=std::shared_ptr<AuthSession> (use count 3, weak count 0) = {...})
    at /home/yasuo/git/MultiMC5/api/logic/minecraft/MinecraftInstance.cpp:789
#7  0x000055555565b080 in LaunchController::launchInstance (this=0x7fffec003600) at /usr/include/c++/8.2.1/ext/atomicity.h:96
#8  0x000055555565c4cf in LaunchController::login (this=<optimized out>) at /home/yasuo/git/MultiMC5/application/LaunchController.cpp:181
#9  0x000055555565dc17 in LaunchController::executeTask (this=0x7fffec003600) at /home/yasuo/git/MultiMC5/application/LaunchController.cpp:32
#10 0x00007ffff780c2d3 in Task::start (this=0x7fffec003600) at /home/yasuo/git/MultiMC5/api/logic/tasks/Task.cpp:73
#11 0x000055555561f4e3 in MultiMC::launch (this=0x7fffffffdfd0, instance=std::shared_ptr<BaseInstance> (use count 7, weak count 1) = {...}, online=online@entry=true, 
    profiler=profiler@entry=0x0) at /home/yasuo/git/MultiMC5/api/logic/QObjectPtr.h:64
#12 0x0000555555640852 in MainWindow::activateInstance (this=<optimized out>, instance=...) at /usr/include/c++/8.2.1/ext/atomicity.h:96
#13 0x00005555556412ea in MainWindow::instanceActivated (this=0x555555a164e0, index=...) at /usr/include/c++/8.2.1/bits/shared_ptr.h:129
#14 0x0000555555648fad in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QModelIndex const&>, void, void (MainWindow::*)(QModelIndex)>::call (arg=<optimized out>, 
    o=<optimized out>, f=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:184
#15 QtPrivate::FunctionPointer<void (MainWindow::*)(QModelIndex)>::call<QtPrivate::List<QModelIndex const&>, void> (arg=<optimized out>, o=<optimized out>, f=<optimized out>)
    at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#16 QtPrivate::QSlotObject<void (MainWindow::*)(QModelIndex), QtPrivate::List<QModelIndex const&>, void>::impl (which=1, ret=<optimized out>, a=<optimized out>, r=<optimized out>, 
    this_=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:414
#17 QtPrivate::QSlotObject<void (MainWindow::*)(QModelIndex), QtPrivate::List<QModelIndex const&>, void>::impl (which=<optimized out>, this_=<optimized out>, r=<optimized out>, 
    a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:407
#18 0x00007ffff699f980 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#19 0x00007ffff7c95906 in QAbstractItemView::activated(QModelIndex const&) () from /usr/lib/libQt5Widgets.so.5
#20 0x000055555570b856 in GroupView::mouseDoubleClickEvent (this=0x555555a6ca10, event=0x7fffffffd720) at /home/yasuo/git/MultiMC5/application/groupview/GroupView.cpp:424
#21 0x00007ffff7a8078f in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff7b2786f in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff7ca250c in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff6974b0b in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#25 0x00007ffff7a3ee14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#26 0x00007ffff7a46839 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#27 0x00007ffff6974df9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#28 0x00007ffff7a45b18 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib/libQt5Widgets.so.5
#29 0x00007ffff7a9af53 in ?? () from /usr/lib/libQt5Widgets.so.5
#30 0x00007ffff7a9e047 in ?? () from /usr/lib/libQt5Widgets.so.5
#31 0x00007ffff7a3ee24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#32 0x00007ffff7a465f1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#33 0x00007ffff6974df9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#34 0x00007ffff6efda50 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#35 0x00007ffff6efef16 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#36 0x00007ffff6ed875c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#37 0x00007ffff2f7b9ac in ?? () from /usr/lib/libQt5XcbQpa.so.5
#38 0x00007ffff55f77bf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#39 0x00007ffff55f9739 in ?? () from /usr/lib/libglib-2.0.so.0
#40 0x00007ffff55f977e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#41 0x00007ffff69cac99 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#42 0x00007ffff6973a8c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#43 0x00007ffff697bde6 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#44 0x00005555556098dd in main (argc=<optimized out>, argv=0x7fffffffe248) at /home/yasuo/git/MultiMC5/application/main.cpp:54


(gdb) info args
this = 0x555555a7c630
session = std::shared_ptr<AuthSession> (use count 3, weak count 0) = {get() = 0x555555a8ddb0}


(gdb) print *this
$1 = {<BaseInstance> = {<QObject> = {<No data fields>}, <std::enable_shared_from_this<BaseInstance>> = {_M_weak_this = std::weak_ptr<BaseInstance> (use count 7, weak count 1) = {
        get() = 0x555555a7c630}}, static staticMetaObject = {d = {superdata = 0x7ffff6c1a040 <QObject::staticMetaObject>, stringdata = 0x7ffff78755e0 <qt_meta_stringdata_BaseInstance>, 
        data = 0x7ffff78754e0 <qt_meta_data_BaseInstance>, static_metacall = 0x7ffff76f0ac0 <BaseInstance::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
        relatedMetaObjects = 0x0, extradata = 0x0}}, m_rootDir = {static null = {<No data fields>}, d = 0x555555a78ef0}, 
    m_settings = std::shared_ptr<SettingsObject> (use count 1, weak count 0) = {get() = 0x555555a86ac0}, m_isRunning = true, m_launchProcess = std::shared_ptr<LaunchTask> (empty) = {
      get() = 0x0}, m_timeStarted = {d = {d = 0x169fa09dcaf8f, data = {status = 143, msecs = 1554678144175}}}, m_status = BaseInstance::Status::Present, m_crashed = false, 
    m_hasUpdate = false, m_hasBrokenVersion = false}, static staticMetaObject = {d = {superdata = 0x7ffff78ddba0 <BaseInstance::staticMetaObject>, 
      stringdata = 0x7ffff7871b60 <qt_meta_stringdata_MinecraftInstance>, data = 0x7ffff7871b00 <qt_meta_data_MinecraftInstance>, 
      static_metacall = 0x7ffff76ede60 <MinecraftInstance::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, 
  m_components = std::shared_ptr<ComponentList> (use count 1, weak count 0) = {get() = 0x555555a8b9e0}, m_mods_model = std::shared_ptr<ModsModel> (empty) = {get() = 0x0}, 
  m_loader_mod_list = std::shared_ptr<SimpleModList> (empty) = {get() = 0x0}, m_core_mod_list = std::shared_ptr<SimpleModList> (empty) = {get() = 0x0}, 
  m_resource_pack_list = std::shared_ptr<SimpleModList> (empty) = {get() = 0x0}, m_texture_pack_list = std::shared_ptr<SimpleModList> (empty) = {get() = 0x0}, 
  m_world_list = std::shared_ptr<WorldList> (empty) = {get() = 0x0}, m_game_options = std::shared_ptr<GameOptions> (empty) = {get() = 0x0}}


(gdb) info frame
Stack level 6, frame at 0x7fffffffc820:
 rip = 0x7ffff77a66f6 in MinecraftInstance::createLaunchTask (/home/yasuo/git/MultiMC5/api/logic/minecraft/MinecraftInstance.cpp:789); saved rip = 0x55555565b080
 called by frame at 0x7fffffffc8b0, caller of frame at 0x7fffffffc820
 source language c++.
 Arglist at 0x7fffffffc738, args: this=0x555555a7c630, session=std::shared_ptr<AuthSession> (use count 3, weak count 0) = {...}
 Locals at 0x7fffffffc738, Previous frame's sp is 0x7fffffffc820
 Saved registers:
  rbx at 0x7fffffffc7e8, rbp at 0x7fffffffc7f0, r12 at 0x7fffffffc7f8, r13 at 0x7fffffffc800, r14 at 0x7fffffffc808, r15 at 0x7fffffffc810, rip at 0x7fffffffc818#

I'll leave that gdb open for a while. Let me know if you need additional stuff. Interesting enough I also want to run project ozone 3 on Archlinux.
Exported from the MultiMC provided by Archlinux and imported it into the fresh build. Build off of 414946c In case you're wondering.

peterix added a commit that referenced this issue Apr 7, 2019
This eliminates some weird crashes.
@peterix
Copy link
Member

peterix commented Apr 7, 2019

Should be better now. Hopefully. This was a very confusing interaction between std::shared_ptr and QObject...

@peterix peterix added bug and removed system: Linux Linux specific issues (dependency hell, packaging, etc.) labels Apr 7, 2019
@sebastianulm
Copy link

Cleaned, pulled and rebuild. Works for me.

Thanks!

@Chryseus
Copy link

Chryseus commented Apr 7, 2019

Can also confirm it is now fixed.

@StefanTT
Copy link

StefanTT commented Apr 8, 2019

Yep, this fixes the issue, thank you!

For others that find this thread, speaking in Arch Linux terms: the AUR package multimc5 is currently broken as stated above. You need to use multimc-git until a new version of multimc with the fix is released.

@Janrupf
Copy link
Contributor

Janrupf commented Apr 8, 2019

Interesting, trying to run Project Ozone 3 too on Arch Linux. For some reason it worked before rebooting but now multimc was crashing. Just updated with the git version, but still I'm interested what caused this bug because I don't see a reason.

@StefanTT
Copy link

StefanTT commented Apr 8, 2019

@Janrupf read the answer above in this thread....

@kharnox
Copy link
Author

kharnox commented Apr 8, 2019

Will try this as soon as I can. Thanks @sebastianulm for providing the gdb trace :)

@Janrupf
Copy link
Contributor

Janrupf commented Apr 8, 2019

I did @StefanTT, however, I'm still not sure what exactly caused this (as it happened out of nowhere)

@peterix
Copy link
Member

peterix commented Apr 8, 2019

This is the closest thing I found: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58822

I'll just call it template madness and move on.

@peterix peterix closed this as completed Apr 8, 2019
@coreybruce
Copy link

Mine builds and launches but as soon as I run minecraft it crashes and shows Segmentation fault (core dumped) in the terminal on Manjaro

@coreybruce
Copy link

Confirmed using MutliMC-git for now is a workaround and working version of MultiMC until it gets fixed.

@votex09
Copy link

votex09 commented May 4, 2019

I was also having the same issue, after reading this post and trying to rebuild multimc5 from AUR it appears the patch has been applied to the non-git version.

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

9 participants