Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.acorn.programmer > #5761

Re: More BASIC woes

Subject Re: More BASIC woes
Newsgroups comp.sys.acorn.programmer
From Alan Adams <alan@adamshome.org.uk>
Date 2019-05-16 16:26 +0100
Message-ID <b6d21fb557.Alan.Adams@ArmX6.adamshome.org.uk> (permalink)
References <e0e503b457.Alan.Adams@ArmX6.adamshome.org.uk> <66ed6adf-2755-444b-87db-ee6391d9070a@googlegroups.com> <f1ab0cb557.Alan.Adams@ArmX6.adamshome.org.uk>
Organization Orpheus Internet Services

Show all headers | View raw


In message <f1ab0cb557.Alan.Adams@ArmX6.adamshome.org.uk>
          Alan Adams <alan@adamshome.org.uk> wrote:

> In message <66ed6adf-2755-444b-87db-ee6391d9070a@googlegroups.com>
>           news@sprow.co.uk wrote:

>> On Tuesday, 14 May 2019 12:45:19 UTC+1, Alan Adams  wrote:
>>> I'm now getting a strange crash from Wimp_PollIdle, but only on rpi's
>>> (which I have tried using 5.23 and 5.24) but not on the ARX6 running 5.25.


So after a lot of experimenting, I can confirm that setting up a main 
window with a superimposed pane, then deleting the main window crashes the 
application on an rPi, whether running RO5.23 or 5.24.

It doesn't crash on an ARMX6 running the R-Comp supplied RO5.25

In case it was because of the link from the pane to the main I tried the 
following sequence:

Close the pane

Remember the handle of the main window.
Create a new copy of the main window, updating the handle

Re-open the pane window.

open the new main window behind the pane.

Delete the old main window, using the remembered handle. Crash.

Alternatively close the old main window. It remains open.
Now the pane seems to be over the old main window, while the updated data 
goes into the new main window.

Bizarre!

=========

So:

I'm deleting and re-creating the window because I am resizing the icons at 
the top of it, and I can't find another way to get the new sizes used.
Am I missing something?

Alan
     
>> [...]

>>> Address &FC1546F4 in Module   WindowManager       @ &FC149AD0 + &AC24
>>> Register dump (at &2001B7D0) is:
>>> pc  = &FC1546F4  Flags=&A0000113=NzCv if  Mode=SVC 32 bit
>>> r0  = &20002224 : $".  :  536879652 => &0000016B : k... : 363
>>> r1  = &00000002 : .... :          2
>>> r2  = &00000002 : .... :          2
>>> r3  = &FFFFFFFF : .... : 4294967295
>>> r13 = &FA207F8C : ?. ú : 4196433804 =>
>>> r14 = &FFFFFFFE : .... : 4294967294
>>> Code around address is:
>>> FC1546BC : Invalid address

>> Invalid? Says who?

> !Reporter


>> It looks like a reasonable address in the OS. What does
>>  *MemoryI FC1546BC -40 +80
>>  *ShowRegs
>> show. That might give some clues,
>> Sprow.*memory fc1546bc -40 +80

> Address  :     F E D C     3 2 1 0     7 6 5 4     B A 9 8     F E D C
> 3 2 1 0     7 6 5 4     B A 9 8 :            ASCII Data
> FC15467C :    E1A0B00D    EBFFF0AA    E28DD020    E8BD0FFE    E8BD8001
> E3A05000    EB000661    E59CE0C0 : .° áªðÿë Ð?âþ.½è.?½è.P ãa..ëÀà?å
> FC15469C :    E33E0000    1A00006B    E59CE0BC    E31E0020    1A000068
> E52D0004    E28C0B02    E2800F75 : ..>ãk...¼à?å ..ãh.....-å..?âu.?â
> FC1546BC :    E590E000    E133000E    15803000    E28C0B02    E2800F76
> 0590E000    0134000E    15804000 : .à?å..3á.0?...?âv.?â.à?...4..@?.
> FC1546DC :    E49D0004    0A00005B    E92D04FF    E243E001    E59EE004
> E37E0001    1A000005    EF020042 : ..?ä[...ÿ.-é.àCâ.à?å..~ã....B..ï
> *showregs
> Register dump (stored at &2001B770) is:
> R0  = 20002624 R1  = 00000002 R2  = 00000002 R3  = FFFFFFFF
> R4  = FFFFFFFF R5  = 00000000 R6  = FFFFFFFE R7  = FFFFFFFE
> R8  = 00000A02 R9  = 00000802 R10 = 201417B8 R11 = 00042B8C
> R12 = 2001DCB4 R13 = FA207F8C R14 = FFFFFFFE R15 = FC1546F4
> Mode SVC32 flags set: NzCvqjggggeAift        PSR = A0000113
> *

> Reporter shows

> 12:43:31.48 ** Error **
>   Error  : &80000002
>   Message: Internal error: abort on data transfer at &FC1546F4
> procwimperror running
> 12:43:31.48 ** WimpError ** from Scroll
>   Error  : &80000002
>   Message: WimpError: Internal error: abort on data transfer at &FC1546F4:
> error line=302, err code = -2147483646
> Memory: Prog=52,576 Vars=301,556 Free=670,068 Stack=56 Undefined=0
> Slot=1004K
> ** Error ** ERR=&80000002 Internal error: abort on data transfer at
> &FC1546F4 ERL=302
> Scroll: CLOSING DOWN
> Memory: Prog=52,576 Vars=301,668 Free=669,940 Stack=72 Undefined=0
> Slot=1004K
> Address &FC1546F4 in Module   WindowManager       @ &FC149AD0 + &AC24
> Register dump (at &2001B770) is:
> pc  = &FC1546F4  Flags=&A0000113=NzCv if  Mode=SVC 32 bit
> r0  = &20002624 : $&.  :  536880676 => &00000124 : $... : 292
> r1  = &00000002 : .... :          2
> r2  = &00000002 : .... :          2
> r3  = &FFFFFFFF : .... : 4294967295
> r4  = &FFFFFFFF : .... : 4294967295
> r5  = &00000000 : .... :          0
> r6  = &FFFFFFFE : .... : 4294967294
> r7  = &FFFFFFFE : .... : 4294967294
> r8  = &00000A02 : .... :       2562
> r9  = &00000802 : .... :       2050
> r10 = &201417B8 : ¸..  :  538187704 => &646E6957 : Wind : 1684957527
> r11 = &00042B8C : ?+.. :     273292
> r12 = &2001DCB4 : ´Ü.  :  536992948 => &0700F13D : =ñ.. : 117502269
> r13 = &FA207F8C : ?. ú : 4196433804 =>
> r14 = &FFFFFFFE : .... : 4294967294
> Code around address is:
> FC1546BC : Invalid address

> Reporter 2.67a (22 Aug 2012)    Listed 85 lines

> I've narrowed down the part causing the problem. It collects information
> about the main window, calculates a lot of adjustments, then deletes the
> window and re-creates it using the adjusted data, and opens it. Commenting
> that out stops the crash, but the window is now incorrectly displayed.

> I've yet to work out exactly why I did that. There was something I
> couldn't change on the existing window, I think. Looking at the comments
> in the code, I am moving and resizing several icons. Is there a way to do
> this without deleting and creating the window?

> It does occur to me that this is AFTER the pane window is opened in front
> of this main window, and the window handle to open behind it still set in
> the adjusted data. I can't see why this wouldn't work, and indeed it has
> worked for several years on earlier versions of RISC OS.



-- 
Alan Adams, from Northamptonshire
alan@adamshome.org.uk
http://www.nckc.org.uk/

Back to comp.sys.acorn.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

More BASIC woes Alan Adams <alan@adamshome.org.uk> - 2019-05-14 12:44 +0100
  Re: More BASIC woes jgh@mdfs.net - 2019-05-14 21:03 -0700
    Re: More BASIC woes Alan Adams <alan@adamshome.org.uk> - 2019-05-15 10:17 +0100
  Re: More BASIC woes news@sprow.co.uk - 2019-05-15 14:41 -0700
    Re: More BASIC woes News <chrisjohnson@spamcop.net> - 2019-05-15 23:54 +0100
    Re: More BASIC woes Alan Adams <alan@adamshome.org.uk> - 2019-05-16 12:56 +0100
      Re: More BASIC woes Alan Adams <alan@adamshome.org.uk> - 2019-05-16 16:26 +0100
        Re: More BASIC woes News <chrisjohnson@spamcop.net> - 2019-05-16 16:42 +0100
          Re: More BASIC woes Steve Fryatt <news@stevefryatt.org.uk> - 2019-05-16 20:07 +0100
            Re: More BASIC woes Alan Adams <alan@adamshome.org.uk> - 2019-05-16 20:39 +0100

csiph-web