English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Amiga scene (http://eab.abime.net/forumdisplay.php?f=2)
-   -   Infinity Modules Player for all CPU & OS (http://eab.abime.net/showthread.php?t=102087)

javierdlr 25 September 2021 13:38

I get sometimes a crash/GR under AOS4:
Crash log for task "imp3"
Generated by GrimReaper 53.19
Crash occured in module at address 0x7F8AD798
Type of crash: DSI (Data Storage Interrupt) exception
Alert number: 0x80000003

Register dump:
GPR (General Purpose Registers):
0: 00000004 5D4DCFF8 5CA77000 00000016 00000003 5DBEBFB6 0000014E 5D169EE2
8: 0000014A 7F8AD5BC 00000000 0000006E 00000000 00000000 01819D80 000172E0
16: 6008D000 5DC2AB50 5CB86AF6 01819970 00000000 5CB87140 0000014A 00000007
24: 00000003 00000166 00000005 00000007 00000000 5D16ADE2 5D16B4E4 6F3EEED8


FPR (Floating Point Registers, NaN = Not a Number):
0: nan 0 0 0
4: 0 0 0 0
8: 0 1.67772e+07 1e+61 1e-59
12: 13 2 1.23719e+276 4.63652e+34
16: 3.27197e+284 -3.77084e-05 6.43224e-169 3.10769e-82
20: 1.04035e-09 1.55633e+25 1.71378e+229 -2.51148e-91
24: 1e+61 1e-59 0.5 4.5036e+15
28: nan 65536 1.67772e+07 0

FPSCR (Floating Point Status and Control Register): 0x82004000


SPRs (Special Purpose Registers):
Machine State (msr) : 0x0002F030
Condition (cr) : 0x00000010
Instruction Pointer (ip) : 0x7F8AD798
Xtended Exception (xer) : 0x020F0000
Count (ctr) : 0x5F4C0030
Link (lr) : 0x02119BE4
DSI Status (dsisr) : 0x5C9DDDB0
Data Address (dar) : 0x0183F118



680x0 emulated registers:
DATA: 00000001 0000001C 00000000 00000007 00000003 00000166 00000005 00000007
ADDR: 5DBEBFB0 5F772B80 00000000 5D16ADE2 5CA77000 5D16B58B 6F3EEED8 5D4DCFFC
FPU0: 0 0 0 0
FPU4: 0 0 0 0



Symbol info:
Instruction pointer 0x7F8AD798 belongs to module "" (HUNK/Kickstart)

Stack trace:
0x7F8AD798 symbol not available

68k Stack trace:
5cb8713e (68k IP) - "imp3" Hunk 0000 Offset 00003136 (SegList: 172e1001)
5cb84b12 - "imp3" Hunk 0000 Offset 00000b0a (SegList: 172e1001)

68k disassembly:
5cb87136: 4eb95cb8a434 jsr 0x5cb8a434.l
5cb8713c: 7001 moveq #0x1,d0
*5cb8713e: 4e75 rts
5cb87140: 13fc00005d16aeec move.b #0,0x5d16aeec.l
5cb87148: 13fc00005d16aeed move.b #0,0x5d16aeed.l

System information:

CPU
Model: AMCC PPC460EX V1.2
...

Maybe it's due on 68k emulation/jit don't know.

Bruce Abbott 26 September 2021 00:06

Quote:

Originally Posted by juen (Post 1508459)
now I am really thinking that it is problem with Bruce setup/config/patches/hardware?

Sorry for reporting this here instead of directly through IMP, but this needs a reply.

I did some more testing and have narrowed down the cause of the Enforcer hits:-

- It only happens if there is no "imp3.prefs" file in S:

- On launching the program it shows a list of screen modes. I choose the default (640x256) and it opens a custom screen. However it only manages to draw a few lines before the hits start.

- The hits occur in the graphics library function TextLength() which calculates the pixel width of a text string. This needs a RastPort pointer in A1, but gets Null (address 0) instead. The hits occur when the function tries to access offsets in the RastPort structure that are in low memory relative to address 0, which the Enforcer traps.

- The first text it tries to get the pixel width of is "Welcome in IMP! ", which is the first text printed in the scrolling area in the lower left of the screen. Many other hits then occur, which suggests the same routine is being called whenever IMP is printing text.

- After a while the hits stop and the program opens another identical screen, this time with everything it should have in it. It works fine after this, except that after quitting the first (partially rendered) screen sticks around. There is also some glitching when screens are pulled down, suggesting that graphics library has become unstable.

Perhaps these problems only occur with a certain config, which might be hard to reproduce on another machine. However the fact that TextLength() is being called with a null RastPort pointer indicates that IMP is not initializing it for some reason. Perhaps the code is unintentionally relying on the value being passed through some other function that just happens to (in most configurations) preserve it, or perhaps or it is being pulled from an incorrect location or a null RastPort pointer is being returned from a previous function, and the null value is not being trapped in the program.

This often happens in assembler programming because you have to take care of it manually, rather than having a compiler to keep track of register contents and report obvious use of null pointers (though C programs often suffer from null pointer use too, when return values are not checked). This is why you should always 'sanity check' return values whenever there is any possibility of them not being valid. It doesn't incur much overhead and makes your program significantly more robust, especially during development when some parts of the code may not be finished.

Also in assembly language it is easy to accidentally put values into the wrong registers. In a complex routine it may be better to hold the pointer in a named memory variable, then load it into the address register just before use. To check for null you can load it into a data register and do a 'beq' to your error handler if it is zero, or if not then move it to the desired address register and carry on. This has some overhead, but is better than risking a crash or system instability.

juen 26 September 2021 08:55

Quote:

Originally Posted by Bruce Abbott (Post 1508582)
Sorry for reporting this here instead of directly through IMP, but this needs a reply.

I did some more testing and have narrowed down the cause of the Enforcer hits:-

- It only happens if there is no "imp3.prefs" file in S:

(...)


thank you very much for the information. the bug has now been corrected and will be in the latest update. for the future, it is enough to write in what circumstances the error occurred. I have to analyze my code anyway and I will find it without any problems :)

I know from experience that what these tools give is very different from what this error actually caused, so it's a waste of time :)

imp3 hangs only with enabled enforcer and no prefs (which will happen only once - after first run) so it is not critical at the moment to update

Cego 29 September 2021 23:44

i cant login anymore. Only a blank window appears. No Chatrooms

Predseda 30 September 2021 00:56

Quote:

Originally Posted by Cego (Post 1509097)
i cant login anymore. Only a blank window appears. No Chatrooms

Sorry Cego, I hope it is not my fault - I tried the KICK function in our CZ channel on you (really no offense) and I do not know if it could cause this problem? :(

juen 30 September 2021 07:26

Quote:

Originally Posted by Predseda (Post 1509115)
Sorry Cego, I hope it is not my fault - I tried the KICK function in our CZ channel on you (really no offense) and I do not know if it could cause this problem? :(

it could be some bug, i will fix that.
+ joined cego to ap channel

Cego 30 September 2021 10:11

i see. i just wondered why nothing worked anymore. I am at work now and cant check if its back to normal. I just hope that my Fave List is still there

bubbob42 30 September 2021 19:33

@juen double-clicking a file in my stash/share will lead to the whole IMP GUI becoming unresponsive

GT76 02 October 2021 10:37

Nice program. Donation is done.

Cego 02 October 2021 11:15

is there a way to donate without paypal?

javierdlr 02 October 2021 12:57

Hi, under AOS4 I get when quitting IMP3 "***¡Command 'imp3' returned unfreeded signals 0x80000000!"

juen 05 October 2021 19:19

https://i.postimg.cc/mrQpks5Z/image.png

work in progress...
big update will come.. don't know when :-)

hUMUNGUs 06 October 2021 21:29

O yes :-) Love IMP :-)

Falcon_11 06 October 2021 23:07

Infinity Modules Player for all CPU & OS
 
Quote:

Originally Posted by juen (Post 1509915)
https://i.postimg.cc/mrQpks5Z/image.png

work in progress...
big update will come.. don't know when :-)


It looks interesting [emoji106] ,whats the benefit ?

juen 07 October 2021 10:04

hmm, a new engine for gui drawing, with adaptative/scalable elements
workbench friendly

Predseda 07 October 2021 11:20

Scalable elements means adjustable fonts too? Will be welcome for hi-res users, but their main complain is the tiny input line at the bottom of the chat.

juen 07 October 2021 12:58

yes, adjustable fonts, and window sizing for some windows...

walkero 07 October 2021 13:29

@juen
I love IMP and spoke about it a lot of times in my streams and videos.



I'd like to recommend a few changes. Hope you don't mind. Of course it is your app and the decision is yours only.
- From the buttons window I would recommend to move "QUIT", "PREFS" and "DISCO" to the application menu. These are not used frequently and they take some space. Also, I would add an "ABOUT" menu item to show in a window more info about the application
- The "TYPE" and "MODE" buttons to be moved in the main player window, since they are mostly affecting what the player plays, and the user might want to change them more than once. I would add there two more buttons "CHAT" and "LISTS", which will open or close these windows
- The "DISK", "FAVS", "TOPS", "STASH" and "HELP" I would recommend to go on their own window with their lists area.
- The "CHAT" window will have the discussion list with the input field and the buttons of the channels at the top.

With the above changes the user will be able to have chat open along with the song lists or files. Also, by closing the CHAT and LISTS windows he will be able to have IMP running as minimum as the main window.

Of course, I don't have a clue about the amount of work you might need to do to adapt to this proposal. Take it just as a bunch of thoughts and ideas and nothing more.

I also created a mockup to show you how imp would look with the above changes.


https://amiga.gr/sites/default/files...p_mockup_0.png

juen 07 October 2021 18:20

it's good idea for eparating chat from list :) i will do that in future. for now i need to finish engine :)

https://i.postimg.cc/xjFDQ1VM/image.png

juen 08 October 2021 15:17

https://i.postimg.cc/vT2Pc1TJ/image.png


All times are GMT +2. The time now is 08:44.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.

Page generated in 0.09910 seconds with 11 queries