Menu

#63 invalid object lock and then DSI when offten dbl-click on files from USB flash

5.92
open
nobody
os4 (5)
2019-05-19
2019-05-19
kas1e
No

That all happens on x5000 , and with 5.91 and with latest beta of 5.92.

To reproduce you need usb flash formatted as fat32 (maybe other filesystems will fail too, dunno) and then just try to double click on different files, like for example .jpg ones, or some ascii ones which have no filetype for.

For example, to reproduce with some ascii file:

-- double click on the icon of usb-flash, so it open lister
-- double click on your ascii file which containt not filetype, and so "sniffer" window will popup with asking you "Sniff!/Read or Cancel".
-- press "read"
-- press "close gadget"

Now, after few seconds you will have for first requester from AmigaDOS saying:

Invalid object lock
Process: "dopus_lister"
Function: "UnLock()"

Then once you press "Acknowledge" GremReaper will popup with such stack trace:

Crash log for task "dopus_lister"
Generated by GrimReaper 53.19
Crash occured in module dos.library.kmod at address 0x0198CEB4
Type of crash: DSI (Data Storage Interrupt) exception
Alert number: 0x80000003

Register dump:
GPR (General Purpose Registers):
   0: 00000000 61427BE0 00000002 00000000 0199EED8 019886FC 019886FC 0003A7AD 
   8: 00000004 022E7CB2 00000001 6FEAB220 000F4240 0000000D 61B94CFC 61B92EA4 
  16: 61BD271C 00000000 6730BB98 61427F18 61427F1C 00000002 61BD2668 61BD0000 
  24: 00000008 00000069 02390000 02020000 DEADF10C 02024C64 DEAD0000 00000000 


FPR (Floating Point Registers, NaN = Not a Number):
   0:              nan                0          0.99999         0.181836 
   4:         0.222222         0.285714              552              128 
   8:               55              754               50       4.5036e+15 
  12:       4.5036e+15      2.14748e+09     2.75288e-148     -1.24014e+12 
  16:    -2.02184e-211     2.08287e-235     -5.8721e-258      -5.4897e-63 
  20:     5.64694e-115    -2.63614e-144      9.03688e-47     2.51992e-265 
  24:    -1.57972e-255    -2.99504e-287     3.00869e-153     2.20224e-226 
  28:    -1.38275e-260    -1.74594e-264     8.60255e-294     -5.44591e+88 

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


SPRs (Special Purpose Registers):
           Machine State (msr) : 0x0002F030
                Condition (cr) : 0x61BF46E4
      Instruction Pointer (ip) : 0x0198CEB4
       Xtended Exception (xer) : 0x5F3F1038
                   Count (ctr) : 0x6FF5D4D0
                     Link (lr) : 0x7FBE6698
            DSI Status (dsisr) : 0x5F3F0DF0
            Data Address (dar) : 0x019E7748



680x0 emulated registers:
DATA: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
ADDR: 6FFA4000 8565AD00 00000000 00000000 00000000 00000000 00000000 61426790 
FPU0:                0                0                0                0 
FPU4:                0                0                0                0 



Symbol info:
Instruction pointer 0x0198CEB4 belongs to module "dos.library.kmod" (HUNK/Kickstart)

Stack trace:
    native kernel module dos.library.kmod+0x00035db4
    native kernel module dos.library.kmod+0x00035d9c
    [lister_idcmp.c:815] DirectoryOpus:lister_process_msg()+0x68c (section 1 @ 0x3F600)
    [lister_proc.c:353] DirectoryOpus:lister_code()+0x478 (section 1 @ 0x3CE84)
    native kernel module dos.library.kmod+0x00026724
    native kernel module kernel+0x0006b268
    native kernel module kernel+0x0006b2b0

PPC disassembly:
 0198ceac: 3fc0dead   lis               r30,-8531
 0198ceb0: 63dcf10c   ori               r28,r30,61708
*0198ceb4: 801c0000   lwz               r0,0(r28)
 0198ceb8: 4bfffe84   b                 0x198CD3C
 0198cebc: 9421ffc0   stwu              r1,-64(r1)

If it didn't fail for you first time, try again. Try in some directory, etc. 2-3 attpemt will cause that issue.

Or for example when you dbl-click on some .jpg file (one may not fail, but another one will):

-- run dopus5 , open in lister your usb flash
-- dbl-click on some jpg. If it didn't fail, dbl-click on another one

Now, after few seconds you again have requester from AmigaDOS saying:

Invalid object lock
Process: "Wokrbench"
Function: "UnLock()"

And then DSI come up:

Crash log for task "Workbench"
Generated by GrimReaper 53.19
Crash occured in module dos.library.kmod at address 0x0198CEB4
Type of crash: DSI (Data Storage Interrupt) exception
Alert number: 0x80000003

Register dump:
GPR (General Purpose Registers):
   0: 0199EEAC 673C6B10 00000002 4DD27337 000A45AC BE420E00 9EB00000 0007A25C 
   8: 0000000A 02390000 00000001 6FEAB220 000F4240 0000000D 8000905D 8000A084 
  16: 8000A085 689B0000 00000000 678AA1B8 61CABBE0 673C6B88 68A02780 00000000 
  24: 689B0000 6FF0E2EC 02390000 02020000 DEADF10C 02024C64 DEAD0000 00000000 


FPR (Floating Point Registers, NaN = Not a Number):
   0:              nan              2.2          0.45455         0.181836 
   4:         0.222222         0.285714              257              128 
   8:               67              428               50       4.5036e+15 
  12:       4.5036e+15      2.14748e+09     2.75288e-148     -1.24014e+12 
  16:    -2.02184e-211     2.08287e-235     -5.8721e-258      -5.4897e-63 
  20:     5.64694e-115    -2.63614e-144      9.03688e-47     2.51992e-265 
  24:    -1.57972e-255    -2.99504e-287     3.00869e-153     2.20224e-226 
  28:    -1.38275e-260    -1.74594e-264     8.60255e-294     -5.44591e+88 

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


SPRs (Special Purpose Registers):
           Machine State (msr) : 0x0002F030
                Condition (cr) : 0x5F758A3C
      Instruction Pointer (ip) : 0x0198CEB4
       Xtended Exception (xer) : 0x5F735038
                   Count (ctr) : 0x6FF5D4D0
                     Link (lr) : 0x7FBE6698
            DSI Status (dsisr) : 0x5F734DF0
            Data Address (dar) : 0x019E7748



680x0 emulated registers:
DATA: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
ADDR: 6FFA4000 85443D00 00000000 00000000 00000000 00000000 00000000 673C56C0 
FPU0:                0                0                0                0 
FPU4:                0                0                0                0 



Symbol info:
Instruction pointer 0x0198CEB4 belongs to module "dos.library.kmod" (HUNK/Kickstart)

Stack trace:
    native kernel module dos.library.kmod+0x00035db4
    native kernel module dos.library.kmod+0x00035d9c
    module LIBS:workbench.library at 0x7FED7994 (section 0 @ 0x2970)
    module LIBS:workbench.library at 0x7FED9C9C (section 0 @ 0x4C78)
    module LIBS:workbench.library at 0x7FF11D58 (section 0 @ 0x3CD34)
    module LIBS:workbench.library at 0x7FF13EC0 (section 0 @ 0x3EE9C)
    native kernel module dos.library.kmod+0x00026724
    native kernel module kernel+0x0006b268
    native kernel module kernel+0x0006b2b0

PPC disassembly:
 0198ceac: 3fc0dead   lis               r30,-8531
 0198ceb0: 63dcf10c   ori               r28,r30,61708
*0198ceb4: 801c0000   lwz               r0,0(r28)
 0198ceb8: 4bfffe84   b                 0x198CD3C
 0198cebc: 9421ffc0   stwu              r1,-64(r1) 

Discussion


Log in to post a comment.