NBTEditor
NBTEditor copied to clipboard
Segmentation fault (core dumped) on level.dat from Minecraft v1.21.2
Ultimately, I'm creating this issue with hope to figure out how to address https://github.com/itzg/docker-minecraft-bedrock-server/discussions/373. See my comment there.
I'm on Ubuntu 24.04 with Qt Creator 13.0.0 (based on Qt 6.4.2). I can open the program, but when I load a level.dat
file from Minecraft v1.21.2 I get a segfault. I tried this a year or so ago with same result on a different machine.
Any thoughts on what I could try?
Here is the full output when compiling from source:
myuser@localhost:~/src/github.com/Howaner/NBTEditor/build$ cmake ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/myuser/src/github.com/Howaner/NBTEditor/build
myuser@localhost:~/src/github.com/Howaner/NBTEditor/build$ make
[ 0%] Built target nbteditor_autogen_timestamp_deps
[ 4%] Automatic MOC and UIC for target nbteditor
[ 4%] Built target nbteditor_autogen
[ 8%] Automatic RCC for resources/resources.qrc
[ 12%] Building CXX object CMakeFiles/nbteditor.dir/nbteditor_autogen/mocs_compilation.cpp.o
[ 16%] Building CXX object CMakeFiles/nbteditor.dir/src/File/ByteBuffer.cpp.o
[ 20%] Building CXX object CMakeFiles/nbteditor.dir/src/File/FileByteWriter.cpp.o
[ 25%] Building CXX object CMakeFiles/nbteditor.dir/src/File/GzipByteReader.cpp.o
[ 29%] Building CXX object CMakeFiles/nbteditor.dir/src/File/GzipByteWriter.cpp.o
[ 33%] Building CXX object CMakeFiles/nbteditor.dir/src/File/MemoryByteReader.cpp.o
[ 37%] Building CXX object CMakeFiles/nbteditor.dir/src/File/MemoryByteWriter.cpp.o
[ 41%] Building CXX object CMakeFiles/nbteditor.dir/src/File/WriteBuffer.cpp.o
[ 45%] Building CXX object CMakeFiles/nbteditor.dir/src/NBT/NBTCompound.cpp.o
[ 50%] Building CXX object CMakeFiles/nbteditor.dir/src/NBT/NBTEntry.cpp.o
[ 54%] Building CXX object CMakeFiles/nbteditor.dir/src/NBT/NBTHelper.cpp.o
[ 58%] Building CXX object CMakeFiles/nbteditor.dir/src/NBT/NBTReader.cpp.o
[ 62%] Building CXX object CMakeFiles/nbteditor.dir/src/UI/AboutDialog.cpp.o
[ 66%] Building CXX object CMakeFiles/nbteditor.dir/src/UI/AddElementDialog.cpp.o
[ 70%] Building CXX object CMakeFiles/nbteditor.dir/src/UI/EditArrayDialog.cpp.o
/home/myuser/src/github.com/Howaner/NBTEditor/src/UI/EditArrayDialog.cpp: In member function ‘NBT::NBTArray<signed char>* UI::EditArrayDialog::getResultByteArray()’:
/home/myuser/src/github.com/Howaner/NBTEditor/src/UI/EditArrayDialog.cpp:36:45: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
36 | QStringList list = str.split(" ", QString::SkipEmptyParts);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:47,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:45,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1,
from /home/myuser/src/github.com/Howaner/NBTEditor/build/nbteditor_autogen/include/ui_EditArrayDialog.h:12,
from /home/myuser/src/github.com/Howaner/NBTEditor/src/UI/EditArrayDialog.h:2,
from /home/myuser/src/github.com/Howaner/NBTEditor/src/UI/EditArrayDialog.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:606:17: note: declared here
606 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
/home/myuser/src/github.com/Howaner/NBTEditor/src/UI/EditArrayDialog.cpp: In member function ‘NBT::NBTArray<int>* UI::EditArrayDialog::getResultIntArray()’:
/home/myuser/src/github.com/Howaner/NBTEditor/src/UI/EditArrayDialog.cpp:58:45: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
58 | QStringList list = str.split(" ", QString::SkipEmptyParts);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:606:17: note: declared here
606 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
[ 75%] Building CXX object CMakeFiles/nbteditor.dir/src/UI/MainForm.cpp.o
[ 79%] Building CXX object CMakeFiles/nbteditor.dir/src/UI/NBTTreeModel.cpp.o
[ 83%] Building CXX object CMakeFiles/nbteditor.dir/src/UI/TreeContextMenu.cpp.o
[ 87%] Building CXX object CMakeFiles/nbteditor.dir/src/main.cpp.o
[ 91%] Building CXX object CMakeFiles/nbteditor.dir/nbteditor_autogen/3YJK5W5UP7/qrc_resources.cpp.o
[ 95%] Linking CXX executable nbteditor
[100%] Built target nbteditor
myuser@localhost:~/src/github.com/Howaner/NBTEditor/build$ ./nbteditor
QSocketNotifier: Can only be used with threads started with QThread
Action click: New
Action click: Open
Try to load the nbt file without compression.
Segmentation fault (core dumped)