Giter Club home page Giter Club logo

Comments (20)

shantigilbert avatar shantigilbert commented on August 30, 2024 2

That could work, here are the files needed cn_mame.zip, the mamenames.xml goes into the resources folder and the gamelist.xml is for the roms/arcade (might work on others with <platform>arcade</platform>) once they are copied you need to restart Batocera (I think)

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024 2

@fabricecaruso after testing the fix, altho it does not crash anymore it seems the fonts go crazy. Here is a video to demonstrate the problem

https://youtu.be/z1QFgPV4B1s

(I only tested the one commit that fixed the issue, because it failed to compile with the other but not sure if I need the others as well)

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024 1

The "i++;" is absolutely necessary... Why revert this ? If we revert this, the day we'll do more debugging we'll loose time searching for the "i++" again....

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024 1

You are right, this can lead for easier debugging in the future without worrying about that part.

I hardly know anything about C++ so what I say its just opinions on the matter, just trying to help and reduce the workload.

But really, thanks for your hard work on this I appreciate it.

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024

I'm sorry but I'm not Chinese, and I don't have big gamelists in Chinese...
I can't help without it.

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

If you have a full mame set is rather easy to set it in Chinese, I can send the files needed (I am also not Chinese but I tested this bug)

from batocera-emulationstation.

nadenislamarre avatar nadenislamarre commented on August 30, 2024

i've not a such set.
but an easy way is to replace files by empty files with the same name in roms while the content is not necessary to es and zip the result.

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

More info on this issue, I compiled a debug version and I ran gdb on it this is the result:

Thread 1 "emulationstatio" received signal SIGSEGV, Segmentation fault.
0x005be074 in Font::renderTextCache (this=0x1832b20, cache=0x29ae6e0) at ../es-core/src/resources/Font.cpp:441
441	../es-core/src/resources/Font.cpp: No such file or directory.
(gdb) bt
#0  0x005be074 in Font::renderTextCache (this=0x1832b20, cache=0x29ae6e0) at ../es-core/src/resources/Font.cpp:441
#1  0x0042c464 in TextListComponent<FileData*>::render (this=0x182f6d4, parentTrans=...) at ../es-app/src/components/TextListComponent.h:235
#2  0x00504ea8 in GuiComponent::renderChildren (this=0x182f218, transform=...) at ../es-core/src/GuiComponent.cpp:75
#3  0x00437774 in IGameListView::render (this=0x182f218, parentTrans=...) at ../es-app/src/views/gamelist/IGameListView.cpp:57
#4  0x004686f8 in ViewController::render (this=0xa92e88, parentTrans=...) at ../es-app/src/views/ViewController.cpp:539
#5  0x00550594 in Window::render (this=0xffd0ba3c) at ../es-core/src/Window.cpp:453
#6  0x002a6f98 in main (argc=1, argv=0xffd0c714) at ../es-app/src/main.cpp:598

Hopefully it can help

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024

Thanks, so : probably due to the fact a Glyph is not found anywhere in fonts.
As I can't reproduce : I "try" a fix to avoid assertion and continue without drawing in this case.

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

I noticed this error is when you are fast scrolling and the current letter pair is shown on the dimmed screen. Maybe there is a way to ignore displaying the Glyph if it doesn't exists?

Let me know if you need anything else to debug/test

Edit: its exactly what you said xD sorry I haven't had my coffee

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

@fabricecaruso I applied your patch (from your PR) and unfortunately (and weirdly) It is still the exact same error:

Thread 1 "emulationstatio" received signal SIGSEGV, Segmentation fault.
Font::renderTextCache (this=0x19e1e48, cache=0x2b36140) at ../es-core/src/resources/Font.cpp:441
441	../es-core/src/resources/Font.cpp: No such file or directory.
(gdb) bt
#0  Font::renderTextCache (this=0x19e1e48, cache=0x2b36140) at ../es-core/src/resources/Font.cpp:441
#1  0x0042c6fc in TextListComponent<FileData*>::render (this=0x284df1c, parentTrans=...) at ../es-app/src/components/TextListComponent.h:235
#2  0x00505140 in GuiComponent::renderChildren (this=0x284da60, transform=...) at ../es-core/src/GuiComponent.cpp:75
#3  0x00437a0c in IGameListView::render (this=0x284da60, parentTrans=...) at ../es-app/src/views/gamelist/IGameListView.cpp:57
#4  0x00468990 in ViewController::render (this=0xc46f10, parentTrans=...) at ../es-app/src/views/ViewController.cpp:539
#5  0x0055082c in Window::render (this=0xff9d5b0c) at ../es-core/src/Window.cpp:453
#6  0x002a6f98 in main (argc=1, argv=0xff9d67e4) at ../es-app/src/main.cpp:598

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024

Honestly, this one was crazy to find...
This should be fixed ( see the commit in my "fix" branch ) & soon be merged.

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

@fabricecaruso Thank you!

from batocera-emulationstation.

Darknior avatar Darknior commented on August 30, 2024

WOAW very impressive in action this bug !!!

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024

Still better than a crash.... And very very very very very hard to debug ( try it.... )
1,386 billion people in china, no one to help debug it ????

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

even tho I am not Chinese I wish I knew how to debug it so I could help more :( I can imagine is a nightmare to debug since its a very weird bug.

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024

I can imagine is a nightmare to debug

Yes it is ! & I have some other priorities

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

Then I assume it would be better to revert this fix? , until someone could help you more on this issue since once it happens the only way to recover the fonts is to restart ES

from batocera-emulationstation.

fabricecaruso avatar fabricecaruso commented on August 30, 2024

Why... ? It avoids a crash....

from batocera-emulationstation.

shantigilbert avatar shantigilbert commented on August 30, 2024

Yes, I think your fix is on the right direction, but If you notice in the video, once the error happens all text disappears, not just Chinese characters, its only fixed with an ES restart.

from batocera-emulationstation.

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.