Git Product home page Git Product logo

Comments (8)

grorp avatar grorp commented on June 2, 2024 1

Looks like we explicitly disable RTTI for Irrlicht on MSVC (https://learn.microsoft.com/en-us/cpp/build/reference/gr-enable-run-time-type-information)

add_compile_options(/GR- /Zl)

This was probably forgotten in minetest/irrlicht#268 because of the different option name.

from minetest.

appgurueu avatar appgurueu commented on June 2, 2024

Likely related to this dynamic cast, which needs run-time type information ("RTTI"). I don't see yet why Windows builds would not have this, however. How are you compiling?

from minetest.

OgelGames avatar OgelGames commented on June 2, 2024

How are you compiling?

Exactly as is described here: https://github.com/minetest/minetest/blob/master/doc/compiling/windows.md#a-using-the-vcpkg-toolchain-and-cmake-gui

from minetest.

srifqi avatar srifqi commented on June 2, 2024

Ah, sorry. I forgot to check inventories with fields when testing that PR.

Call stack
vcruntime140.dll!00007ffef95e669d()
minetest.exe!GUIModalMenu::remapClickOutside(const irr::SEvent & event) Line 159
	at C:\git\minetest\src\gui\modalMenu.cpp(159)
minetest.exe!GUIModalMenu::preprocessEvent(const irr::SEvent & event) Line 384
	at C:\git\minetest\src\gui\modalMenu.cpp(384)
minetest.exe!GUIFormSpecMenu::preprocessEvent(const irr::SEvent & event) Line 4077
	at C:\git\minetest\src\gui\guiFormSpecMenu.cpp(4077)
[Inline Frame] minetest.exe!MainMenuManager::preprocessEvent(const irr::SEvent &) Line 80
	at C:\git\minetest\src\gui\mainmenumanager.h(80)
minetest.exe!MyEventReceiver::OnEvent(const irr::SEvent & event) Line 120
	at C:\git\minetest\src\client\inputhandler.cpp(120)
[External Code]
[Inline Frame] minetest.exe!RenderingEngine::run() Line 152
	at C:\git\minetest\src\client\renderingengine.h(152)
minetest.exe!Game::run() Line 1168
	at C:\git\minetest\src\client\game.cpp(1168)
minetest.exe!the_game(bool * kill, InputHandler * input, RenderingEngine * rendering_engine, const GameStartData & start_data, std::string & error_message, ChatBackend & chat_backend, bool * reconnect_requested) Line 4570
	at C:\git\minetest\src\client\game.cpp(4570)
minetest.exe!ClientLauncher::run(GameStartData & start_data, const Settings & cmd_args) Line 209
	at C:\git\minetest\src\client\clientlauncher.cpp(209)
minetest.exe!main(int argc, char * * argv) Line 263
	at C:\git\minetest\src\main.cpp(263)
[External Code]

from minetest.

grorp avatar grorp commented on June 2, 2024

I can reproduce with the MTG sign formspec.

I tested my PR with the MTG creative inventory, which also has a field[] (https://github.com/minetest/minetest_game/blob/1ce48351ea7b1586710c1e60e863e94ed06e2721/mods/creative/inventory.lua#L175), but I couldn't/can't reproduce there.

EDIT: Actually, the bug I reproduced is probably a different one.

from minetest.

appgurueu avatar appgurueu commented on June 2, 2024

Your call stack seems to confirm that it's indeed the dynamic cast that's causing this issue (though it seems to be off by one line?).

I can't reproduce on Ubuntu 22.04, building with clang. This is probably a Windows-only (?) build issue, where it compiles without RTTI. The logic introduced in the commit seems fine to me.

from minetest.

srifqi avatar srifqi commented on June 2, 2024

I tested my PR with the MTG creative inventory, which also has a field[], but I couldn't/can't reproduce there.

That is weird. I can reproduce it with the MTG creative inventory (built from recent master branch, on Windows 10).


I was testing the PR using the Void game, hence no field in the inventory formspec.

from minetest.

grorp avatar grorp commented on June 2, 2024

srifqi: I reproduced the wrong bug, the one I reproduced was caused by a WIP patch of mine.

Tested again with the builds from https://github.com/minetest/minetest/actions/runs/9113898824. I could reproduce with the msvc-x64-portable build, but not with the mingw64 build.

from minetest.

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.