The outdated libc.so wasn't the problem, i still get the very same crash on accessing an engine .so
Crash log for task "scummvm"
Generated by GrimReaper 53.19
Crash occured in module scummvm at address 0x7EF5E740
Type of crash: DSI (Data Storage Interrupt) exception
Alert number: 0x80000003
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Note that for the commands following the dependency rules (ar and rm) you absolutely need to have a tab character at the beginning of the line or they won't work.
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
GL_UNSIGNED_INT_8_8_8_8 is not (yet) recognized as a format.
Maybe this is something that should be added to minigl?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
I don't understand, does that mean it's already supported, but not yet released?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
There is a problem with older newlibs if the requested minimum version is >= 52.39** that leads to DOSBase and IDOS not being properly initialised. It does not appear to be the reason for your problem though judging from the above output.
If the crash was in a shared object it could be that it is unable to access the IDOS symbol from the main executable and this is leading to the NULL pointer access, but that does not look to be the case judging from the stack backtrace...
So, if i understand that correctly, some part of my SDK is linking the project with an outdated newlib library version, correct? Or why could it be requesting 53.20 and not the newer one?
Is there something i can update in my toolchain to prevent that? Maybe newlib (though i thought i have everything uptodate my libc.so was outdated, so other things might be aswell)?
Also, any more debug output i could add? What kind of information/output would be needed?
EDIT: Also, how can i PrintF characters or strings, if the variable to debug should have a path or directory name in it? I can't get my head around using %s or %c, at least they only output garbage most of the time.
Thank you very much
Edited by Raziel on 2019/10/6 14:11:47
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Yes, i read the manual, still i am unnsure on how to print out certain variables. I'm still thinking in AREXX scripts, i guess.
e.g. if i wanted to print out the variable "p" or "*p" from here: https://github.com/scummvm/scummvm/blo ... gaos4/amigaos4-fs.cpp#L81 How would i achieve that? Not that i think there's anything wrong with the path, just for learning purposes (as i think that p holds the path where it tries to load from...but maybe i'm completely wrong again?).
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Right, so "p" is an reference (&) to a String object that exists in Common namespace (Common::String). When it comes to C++ objects, typically we can only "print" their address using %p, but as we can see in the same function, Common::String has a similar member function than normal std::string, called c_str() that apparently returns a C string that lives inside the object. So you can use something like
It clashes with common/str.cpp and produce a crash, but nevermind.
Quote:
Shared Objects Crash
What could/should i look at next to see and maybe find why the shared objects build is crashing on loading a game (and ultimately on loading in a shared object engine)?
Edited by Raziel on 2019/10/7 7:34:44
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Why? I thought 8, 16, 24 and 32 bpp were supported on AmigaOS4?
EDIT: I see, that is only if i use the Softw3are renderer...intriguing
Edited by Raziel on 2019/10/7 7:56:39
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
It clashes with common/str.cpp and produce a crash, but nevermind.
Really? How?
Quote:
What could/should i look at next to see and maybe find why the shared objects build is crashing on loading a game (and ultimately on loading in a shared object engine)?
I would add debug traces close to the crash site (before the crash line) if the root cause is somehow non-obvious.
It clashes with common/str.cpp and produce a crash, but nevermind.
Really? How?
Mostly stupidity, mixed with a little bit of c&p mistakes and lots of missing night sleep...
I can't reproduce the (str.cpp) crash anymore and i have another debug output ready, salass00 was right. Right before it should load the game it hits an IDOS: 0x0000000.
Also, i made an exhausting post over at Hyperion with all the information gathered in one place, maybe you want to continue there, since this thread seems to get derailed?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
@Raziel You may remember it, or may not : but when i release Barony game port , there was some strange crashes too : they was exactly because of IDOS 0x00000000. To fix them, i just open dos.library (together with IDOS interface up) in the place where crashes happens (i.e. via stack trace build with -gstab check in which source file it crashes, and there add opening / closing of dos.library with interface).
Just like that:
//somewhere at begining of function
#ifdef __amigaos4__
DOSBase=IExec->OpenLibrary("dos.library",0);
IDOS = (struct DOSIFace *)IExec->GetInterface(DOSBase, "main", 1, NULL);
#endif
// original code
// at end of function, right before return 0 if it will be there, just at end so it closes
#ifdef __amigaos4__
IExec->DropInterface((struct Interface *)IDOS);
IExec->CloseLibrary(DOSBase);
#endif
For Barony i had to do it in 2 places, and it wasn't "sobjes" but statically compiled.
And i do not know of course if it will fix your issues, but just all of this remind me my ones i have with Barony port.
It's ResidualVM who doesn't support 8 or 24 bpp. Are you 100% Residual is meant to work with 8/24 bit?
Of course not I'm unsure in everything i do or know
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Uhh, sweet...an easy enough solution for me to try.
Hmm, well, the two lines where it crashes are 82 and 88, so i'll try those first.
But, wouldn't this be a bug in ScummVM's Amiga part then? Or even a bug in the system itself? Or could it be simply that ScummVM's Amiga part is old enough to have outlived the coding necessaties of the current system?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
That did it...preliminary test though, but at least i can start games without crashing with ALL the engines in place.
Thank you
I still have to test if anything bad happens when building static, but i guess not.
Thank you, thank you, thank you, thank you
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg