citizenfx / fivem

The source code for the Cfx.re modification frameworks, such as FiveM, RedM and LibertyM, as well as FXServer.
https://cfx.re/
3.5k stars 2.07k forks source link

Crash with lemon-jig-oxygen when loading some MLO's - 100% of the time. #2805

Open Legacy-TacticalGamingInteractive opened 1 day ago

Legacy-TacticalGamingInteractive commented 1 day ago

What happened?

image

Several MLO's lately, as of around 3-4 weeks ago have been causing this crash soon as players get close to it. 100% of the time they will crash. This is currently happening with at least 3 so far that I've tested.

I've checked for conflicting props. I've checked for flag issues on the props. I've checked LOD distances and recalculated extents. I've been trying to figure it out for several days of dissecting these interiors by these mappers with no luck.

These USED to load just fine. But now no matter what I do they will not load without causing a crash. They actually load on the screen then there is a hang for a second then client crashes.

The only thing I see between them all is that they have over 500 props called from the .ytyp in the MLO interior. These are not all custom props mind you, they are mostly vanilla props. Not to be confused with bbmax bbmin of custom archetypes added to ytyp that are in some of them of course.

This crash log takes me to:

static void WrapStreamingLoad(strStreamingModule* strModule, uint32_t index, void* data, void* a4)
{
    uint32_t moduleBase = strModule->baseIdx;
    g_currentStreamingName = streaming::GetStreamingNameForIndex(moduleBase + index);
    g_currentStreamingIndex = moduleBase + index;

    ((decltype(&WrapStreamingLoad))g_currentStreamingModuleCallback)(strModule, index, data, a4);
    g_currentStreamingName = "";
    g_currentStreamingIndex = 0;
}
        // invoke original thread start
        return meta.origRoutine(meta.originalData);   ---- and here

        }, parameter, dwCreationFlags, lpThreadId);

I have tried to contact the original mappers to see if they might know more but they have no info to offer. Since this crash is fairly recent. Perhaps someone know if something has changed wtih MLO prop limits maybe or something like that.

Expected result

To be able to render interiors without crashing.

Reproduction steps

  1. Perhaps try interiors with 800+ MLO props.
  2. dip_ pawnshop is one to try by Dipzy
  3. ab45's majesty mansion is another

Importancy

Crash

Area(s)

FiveM

Specific version(s)

FiveM build 3258 | tx: v7.2.2 | fx: b9956

Additional information

At my wits end on this one. If anyone can give any input that would be great. Thank you.

ook3D commented 1 day ago

the 2 functions at the top of the stack trace are EBStatic::PlaceDrawableIndirectArgs(0x21) rage::fwDrawableStore::PlaceResource(0xd2) image it seems you are crashing here.

ook3D commented 1 day ago

after checking what those qwords are, it seems something to do with grass batches / instances. image

Legacy-TacticalGamingInteractive commented 1 day ago

after checking what those qwords are, it seems something to do with grass batches / instances. image

its strange because there are no grass batches in these or instances and ive even been looking across entire server for duplicate named files conflicting with nothing found