[null, {"document_url": "http://o1i.blogspot.com/2008/10/today-is-good-day-there-is-one-thing.html", "unformatted_src": "http://2.bp.blogspot.com/_ypaUlffYZrw/SQCScHSXQkI/AAAAAAAAACI/0HfOWeDF20o/s320/e-uae-working.jpg", "src": "http://2.bp.blogspot.com/_ypaUlffYZrw/SQCScHSXQkI/AAAAAAAAACI/0HfOWeDF20o/s320/e-uae-working.jpg", "formatted_filename": "e uae working"}, null, null, null, null]
Today is a good day!

There is one thing, which kept me annoying over quite some time. This random crash of e-uae with gtk-mui GUI. At startup, it crashed at a time, where nothing wrong was happening. If you changed build options, it crashed somewehere else. Sometimes it did only crash at 10% of all starts, sometimes at 100%. This was the case after my last changes.

But at least, the crash was now "stable" and reproduceable. Bad thing, if I change anything, it might get random again. But this did not happen luckily.

So I found out, this time the crash happens, if I access the mui object of this GtkCombo object. This mui object works at creation time and at many other occasions, but after many hundreds of code lines, it causes a crash, as soon as it is accessed. Something overwrites it in between.

So I tried to debug with gdb, but I had no luck with watch points. If I attach it to a running aros, I don't have 'findaddr'? If I avoid all that problems, there is no way, to continue aros execution after setting a watch point, maybe I am too stupid for that ;).

So I wrote a small function check_combo, which just accesses the mui object of that GtkCombo widget. i placed that check everywhere and so I could reduce the amount of lines to search to just some 15 lines. classes/clist.c in gtk-mui. But there was nothing wrong:

After NListObject, I could not access the GtkCombo object any more. Ok, but where is the problem. I started debugging NList class. Hmm. there was nothing suspicious.

But finally:

GETDATA is defined as

And obj is not yet valid at that time. So I moved GETDATA after DoSuperMethod and it worked. I don't want to count the hours I spent on that error.

And as you where so brave to read it all, you might try out the current version of e-uae WIP4 with gtk-mui. get it from here. It's just the gzipped e-uae binary, put in in aros and run it. Should work ;).

You can now even remove floppies during boot time: posted by o1i at 23.10.08 mmartinka said...

run the very good. thanks
 Jaiminho said...

Congrats! =o)





Name: o1i



Some Linux Stuff