Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
39 user(s) are online (15 user(s) are browsing Forums)

Members: 1
Guests: 38

devils_advisor, more...

Support us!

Recent OS4 Files
OS4Depot.net

Report message:*
 

Re: Porting to AmigaOS4 thread

Subject: Re: Porting to AmigaOS4 thread
by Raziel on 2019/9/23 10:57:24

@all

Why would this (1. first stracktrace entry, 2. second stacktrace entry)
AmigaOSFilesystemNode::AmigaOSFilesystemNode(const Common::String &p) {
    
ENTER();

    
int offset p.size();

    
//assert(offset > 0);

    
if (offset <= 0) {
        
debug(6"Bad offset");
        return;
    }

    
_sPath p;
2. ->    _sDisplayName = ::lastPathComponent(_sPath);
    
_pFileLock 0;
    
_bIsDirectory false;
    
_bIsValid false;

    
// Check whether the node exists and if it's a directory
1. ->    struct ExamineData pExd IDOS->ExamineObjectTags(EX_StringNameInput,_sPath.c_str(),TAG_END);
    if (
pExd) {
        
_nProt pExd->Protection;
        if (
EXD_IS_DIRECTORY(pExd)) {
            
_bIsDirectory true;
            
_pFileLock IDOS->Lock((CONST_STRPTR)_sPath.c_str(), SHARED_LOCK);
            
_bIsValid = (_pFileLock != 0);

            
// Add a trailing slash if needed
            
const char c _sPath.lastChar();
            if (
!= '/' && != ':')
                
_sPath += '/';
        } else {
            
//_bIsDirectory = false;
            
_bIsValid true;
        }

        
IDOS->FreeDosObject(DOS_EXAMINEDATApExd);
    }

    
LEAVE();
}

crash when using shared objects, but work perfectly fine when using a static build?

Crash log for task "scummvm"
Generated by GrimReaper 53.19
Crash occured in module scummvm at address 0x7F1E06BC
Type of crash
DSI (Data Storage Interruptexception
Alert number
0x80000003

Register dump
:
GPR (General Purpose Registers):
   
07F1E0690 4ECCE890 DF0D3C60 4BDB6BA8 486AABA7 00000002 00000042 61646520 
   8
4BDB6BB0 00000000 00000000 4ECCE890 00000798 5BCFCE4C 00000000 4F087000 
  16
7F0A6740 00000000 4BCBE9D0 4BDB2E08 02B30000 02B30000 00000000 00000003 
  24
6FF8C180 00000002 46844888 00000000 4BDB3880 4BDB6BA8 5BCF20B4 4ECCE890 


FPR 
(Floating Point RegistersNaN Not a Number):
   
0:              nan                1                0                1 
   4
:                1               -1                1              0.5 
   8
:              240              0.5                1       4.5036e+15 
  12
:       4.5036e+15      2.14748e+09                0                0 
  16
:                0                0                0                0 
  20
:                0                0                0                0 
  24
:                0                0                0                0 
  28
:                0                0                0                0 

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


SPRs 
(Special Purpose Registers):
           
Machine State (msr) : 0x0200B030
                Condition 
(cr) : 0x4E85CC4C
      Instruction Pointer 
(ip) : 0x7F1E06BC
       Xtended Exception 
(xer) : 0x4D78A018
                   Count 
(ctr) : 0x6FF494D0
                     Link 
(lr) : 0x7FB21920
            DSI Status 
(dsisr) : 0x4D789DD0
            Data Address 
(dar) : 0x021AD048



680x0 emulated registers
:
DATA00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
ADDR
6FFB8700 96298900 00000000 00000000 00000000 00000000 00000000 4ECCE1B0 
FPU0
:                0                0                0                0 
FPU4
:                0                0                0                0 



Symbol info
:
Instruction pointer 0x7F1E06BC belongs to module "scummvm" (PowerPC
Symbol_ZN21AmigaOSFilesystemNodeC2ERKN6Common6StringE 0x108 in section 11 offset 0x0014170C

Stack trace
:
    [
backends/fs/amigaos4/amigaos4-fs.cpp:88scummvm:_ZN21AmigaOSFilesystemNodeC2ERKN6Common6StringE()+0x108 (section 11 0x14170C)
    [
backends/fs/amigaos4/amigaos4-fs.cpp:82scummvm:_ZN21AmigaOSFilesystemNodeC2ERKN6Common6StringE()+0xdc (section 11 0x1416E0)
    [
common/fs.cpp:45scummvm:_ZN6Common6FSNodeC2ERKNS_6StringE()+0x134 (section 11 0x36FD10)
    [
base/main.cpp:147scummvm:_ZL7runGamePK6PluginR7OSystemRKN6Common6StringE()+0x88 (section 11 0x8240)
    [
base/main.cpp:566scummvm:scummvm_main()+0xd94 (section 11 0xA180)
    [
backends/platform/sdl/amigaos/amigaos-main.cpp:79scummvm:main()+0x264 (section 11 0x79F4)
    
native kernel module newlib.library.kmod+0x000020a4
    native kernel module newlib
.library.kmod+0x00002d0c
    native kernel module newlib
.library.kmod+0x00002ee8
    scummvm
:_start()+0x170 (section 11 0x1AB8)
    
native kernel module dos.library.kmod+0x000255c8
    native kernel module kernel
+0x000420ac
    native kernel module kernel
+0x000420f4

PPC disassembly
:
 
7f1e06b4813e8014   lwz               r9,-32748(r30)
 
7f1e06b881290000   lwz               r9,0(r9)
*
7f1e06bc83a90474   lwz               r29,1140(r9)
 
7f1e06c0813e8014   lwz               r9,-32748(r30)
 
7f1e06c483890000   lwz               r28,0(r9)

System information:

CPU 
 Model
P.ASemi PWRficient PA6T-1682M VB1 
 CPU speed
1800 MHz 
 FSB speed
900 MHz 
 Extensions
altivec 

Machine 
 Machine name
AmigaOne X1000 
 Memory
2097152 KB 
 Extensions
bus.pci bus.pcie


Does it really has to do with not finding a path/directory?
Because that wouldn't be logical since the program accesses said path beforehand and does not crash.

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project