Alfred Faust wrote:
Now the problem. As long as not much systemload is in the background this works well, but Intuition is blocking all running programs, if the user clicks and holds down a mousebutton (for example a menu-choosing). Because of this TiMidity also is halted, and after releasing the mousebutton Ahi is mostly crashing with always the same crashlog. I tryed much. Only if TiMidity is running without any output from shell (I've made a GUI for OS4) the task is not effected by Intuition.
Crash log for task "ahi.device Unit Process"
Generated by GrimReaper 51.20
Crash occured in module ahi.device at address 0x70E648A8
Type of crash: DSI (Data Storage Interrupt) exception
Register dump:
GPR (General Purpose Registers):
0: FFFFFFFF 0312FE10 00000000 01661FB4 02CCD30E 02CCD1C0 000000FF 00000000
8: 00000008 00000000 01217E8C 02B25288 70E6F2A4 00000000 FFFFFFFF 00000000
16: 02CCDD18 02CCD90A 01670000 00000000 00000000 00000000 00000000 02CCD2BC
24: 00000000 02CCD2BC 121A0000 00000000 02CD157C 02CCD1C0 02CCD218 12198080
FPR (Floating Point Registers, NaN = Not a Number):
0: NaN 0.45 -0.12 0.4
4: 0.9 0.48 0.5 0.125
8: 0.55 4.5036e+15 -910222 NaN
12: 342024 4.34585e-311 -2.50101e+154 -4.3452e+71
16: -4.56484e+288 -1.92229e-180 -2.31582e+77 -3.09987e+231
20: -9.00619e-26 -5.59849e-160 -1.13331e+279 -1.28518e+302
24: -8.82952e+71 4.0277e+149 -1.77878e-06 -7.72278e+230
28: -2.55322e+154 -4.23449e+301 -4.71936e+226 7.26965e-266
FPSCR (Floating Point Status and Control Register): 0x82028000
SPRs (Special Purpose Registers):
Machine State (msr) : 0x0000F030
Condition (cr) : 0x28042082
Instruction Pointer (ip) : 0x70E648A8
Xtended Exception (xer) : 0x00000000
Count (ctr) : 0x012088B0
Link (lr) : 0x70E64870
DSI Status (dsisr) : 0x08000000
Data Address (dar) : 0x00000000
680x0 emulated registers:
DATA: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
FPU0: 0 0 0 0
FPU4: 0 0 0 0
Symbol info:
Instruction pointer 0x70E648A8 belongs to module "ahi.device" (HUNK)
Stack trace:
module DEVS:ahi.device at 0x70E648A8 (section 3 @ 0x48A0)
module DEVS:ahi.device at 0x70E65040 (section 3 @ 0x5038)
module DEVS:ahi.device at 0x70E62DEC (section 3 @ 0x2DE4)
module DEVS:ahi.device at 0x70E60A50 (section 3 @ 0xA48)
native kernel module dos.library.kmod+0x24240
PPC disassembly:
70e648a0: 814a0090 lwz r10,144(r10)
70e648a4: 7fa5eb78 mr r5,r29
*70e648a8: a3290000 lhz r25,0(r9)
70e648ac: 93bf004c stw r29,76(r31)
70e648b0: 7d4903a6 mtctr r10
Seems to be this code in devcommands.c that causes the hit:
if(delay)
{
if( ! ioreq->ahir_Link->ahir_Link)
{
struct AHIRequest *otherioreq = ioreq->ahir_Link;
channel = GetExtras( otherioreq )->Channel; *** HERE ***
GetExtras(ioreq)->Channel = NOCHANNEL;
otherioreq->ahir_Link = ioreq;
ioreq->ahir_Link = NULL;
Enqueue((struct List ) &iounit->WaitingList,(struct Node ) ioreq);