Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
71 user(s) are online (48 user(s) are browsing Forums)

Members: 0
Guests: 71

more...

Headlines

 
  Register To Post  

« 1 (2) 3 4 »
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@klesterjr

Quote:


2) Using the GUI Prefs program, I switched to the square window style theme.



That would be the likely cause, themes can occasionally reveal oddities in GUIs that only occur in certain combinations of settings, getting from there to finding the bug can be quite tricky though....



Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@all
I compiled latest version from https://sourceforge.net/p/wookiechat/code/HEAD/tree/ with some minimal adaptations (to make it compiles). And while binary starts, open first window for user/nickname, and then after spawning a main window, crashes (as it was expected) in the network related code, in the muiclass_network.c, in function MM_ServerMessageSendMsg , right on that line:

if( ( sn AllocVecsizeofstruct SendNode ) + strlenmsg->Message ) + strlen"PRIVMSG :" ) + strlenmsg->Channel->c_Name ) + 64MEMF_ANY|MEMF_CLEAR ) )) {


Debug output looks like this:

******************************************************************************
wookiechat.(53main() - WookieChat Transmission begins...
muiclass_network.(90OM_New() - Class: 0x3ddbc850 Object0x3ddbc850 
muiclass_network
.(138OM_Set() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(138OM_Set() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(658MM_ServerMessageSendProc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(172MM_ServerConnectAuto() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(303MM_ServerAlloc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(275MM_ServerFind() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1073MM_ChannelAlloc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1044MM_ChannelFind() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1073MM_ChannelAlloc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1044MM_ChannelFind() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1073MM_ChannelAlloc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1044MM_ChannelFind() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1073MM_ChannelAlloc() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(1044MM_ChannelFind() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(512MM_ServerConnect() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(408MM_ServerSocketInit() - Class: 0x3ddbc850 Object0x3d9a1d90 
muiclass_network
.(480MM_ServerSocketClose() - Class: 0x3ddbc850 Object0x3d9a1d90 
MM_ServerSocketInit
() - Done 00000000
connecting to 
'irc.freenode.net' Port 6667
muiclass_network
.(626MM_ServerMessageSendMsg() - Class: 0x3ddbc850 Object0x3d9a1d90 

<<<CRASH>>
Dump of context at 0xC7F21000
Trap type
DSI exception




Edited by kas1e on 2017/1/6 19:53:15
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@all
Is it safe to replace NEWLIST macro from SDK to NewList((struct List*)l) ? Why i ask, it because i do that change in wookiechat, as it use NEWLIST macro in few places, which give me:

error: request for member 'lh_Head' in something not a structure or union
error: request for member 'lh_Tail' in something not a structure or union
error: request for member 'lh_Tail' in something not a structure or union
error: request for member 'lh_TailPred' in something not a structure or union
error: request for member 'lh_Head' in something not a structure or union

For example that testcase just fail:

#include <proto/exec.h>
#include <exec/lists.h>

    
int main()
{
        
NEWLIST(NULL);
}


So i doing that:

#include <proto/exec.h>
#include <exec/lists.h>

#undef NEWLIST
#define NEWLIST(l) NewList((struct List*)l)

int main()
{
        
NEWLIST(NULL);
}


Is it ok ? I just not sure why it fail on os4 at all. I find it in the exec/lists.h , and that looks like this:

#define NEWLIST(x)                                       \
  
do{                                                    \
        
(x).lh_Head     = (struct Node *) &(x).lh_Tail;  \
        
(x).lh_Tail     NULL;                          \
        
(x).lh_TailPred = (struct Node *) &(x).lh_Head;  \
    
}while(0)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@kas1e

Quote:
Is it safe to replace NEWLIST macro from SDK to NewList

Yes.

I'm trying to compile it myself.

Rock lobster bit me - so I'm here forever
X1000 + AmigaOS 4.1 FE
"Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@Cass Voodoo

Wookie crashed for me too since this evening joining french AmigaNG channel.

K-L gave me the advice to delete the content of the logs drawer and voila, it worked again.

It worths a try.

Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@TSK
Aga good, there is how i compile it if we want to deal with it fast:

1. our own makefilesystem_amigaos4.and missing os4.h where we describe DoSuperNew and stccpy
(last one not need itbut i just take file from my old project)
They attached at bottomAlso libaos4deps.awhich have inside code of DoSuperNew and stccpy

2. in WookieChat
.CD

change in MSG_MUICLASS_WINDOWIGNORELIST_INFO 
(//) 
<<Join>> to have non strage characters on " "

3. functions.c

need to change
struct GfxBase          
*GfxBase;
on
struct Library          
*GfxBase;


also change:
LIBMACRO"graphics.library"         ,  00                 GfxBase         IGfx  ),
on
LIBMACRO
"graphics.library"         ,  00                 GfxBase         IGraphics  ),

also change:
LIBMACRO"dos.library"              ,  00                 DOSBase         IDos       ), /* now all other stuff */
on
LIBMACRO
"dos.library"              ,  00                 DOSBase         IDOS       ), /* now all other stuff */


4. muiclass_network.muiclass_serverlist.and muiclass_messageinput.c

after includes add
:

#ifdef __amigaos4__
#undef NEWLIST
#define NEWLIST(l) NewList((struct List*)l)
#endif


5.  locale.c

There is error when was added amigaos4 ifdef to Locale_Open 
function (they forgot to add closed bracked). So whole function now:

BOOL Locale_OpenSTRPTR catnameULONG versionULONG revision)
{

    if( ( 
LocaleBase = (APTROpenLibrary( (_ub_cs"locale.library",) ) ) {
#ifdef __amigaos4__
        
extern struct LocaleIFace      *ILocale;
        if( ( 
ILocale = (struct LocaleIFace *) GetInterfaceLocaleBase"main"1NULL ) ) ) {
#endif
        
RemLibrary( (struct Library *) LocaleBase );
        if( ( 
locale_locale OpenLocaleNULL ) ) ) {
            if( ( 
locale_catalog OpenCatalogAlocale_localecatnameTAG_DONE ) ) ) {

                if(    
locale_catalog->cat_Version  ==  version &&
                       
locale_catalog->cat_Revision == revision ) {
                    return( 
TRUE );
                }
                
CloseCataloglocale_catalog );         /* so close catalog */
                
locale_catalog NULL;                  /* and use default (if present) */
            
}
        }
    }
#ifdef __amigaos4__    
    
}
#endif    
    
return FALSE;
}

And 
add 2 || defined(__amigaos4__at the same place where morphos and aros

6. memorytracking
.c

#ifdef __amigaos4__
#undef NEWLIST
#define NEWLIST(l) NewList((struct List*)l)
#endif


and put #include "memorytracking.h"
after #include "debug.h", not before.


And there is files about which i told at begining:
http://kas1e.mikendezign.com/aos4/wookie/

Feel free to post there if you have any problems with.

I also do some more debug yesterday, and its indeed crashes on that line with AllocVec. Strangely enough, as i once replace it on something like AllocVec(150,MEMF_ANY), it start kind of work with some DSI's , so problem is parameters which passed to, and i think it is "MP_NETWORK_SERVERMESSAGESENDMSG *msg" , as class and objects values in debug whows fine.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@TSK
Tracked down a bit more first crash, and that happens because of access to msg->Channel->c_Name. It is from struct Channel (placed in the muiclass_network.h) and defined like this:

char c_Name[ CHANNELENTRY_CHANNEL_SIZEOF + 2 ];

So just tring to print it out via %s right at begining of our MM_ServerMessageSendMsg function, and it crashes. Printed hex-value from and it did have value 0x00000030, which are 48 in DEC. CHANNELENTRY_CHANNEL_SIZEOF defined as 50 in muiclass_channellist.h

Trying to debug it futher, in hope that once it will be fixed, all the other code will be crash free.


Edited by kas1e on 2017/1/7 18:42:51
Edited by kas1e on 2017/1/7 18:48:01
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@kas1e

Channel == NULL?

Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@Capehill

Checked at top of function, yes, seems so.

I also do check MM_ChannelAlloc and MM_ChannelFind, and it fill all values properly. I added some more debug in all the places:

muiclass_network.(684MM_ServerMessageSendProc() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(180MM_ServerConnectAuto() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(311MM_ServerAlloc() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(283MM_ServerFind() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(1099MM_ChannelAlloc() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(1070MM_ChannelFind() - Class: 0x3e542510 Object0x3d9b4d90 
DEBUGNEW
we in the AllocVec in the ChannelAlloc!
DEBUGNEWmsg->Name is Freenode
DEBUGNEW
c->c_Name is Freenode
muiclass_network
.(1099MM_ChannelAlloc() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(1070MM_ChannelFind() - Class: 0x3e542510 Object0x3d9b4d90 
DEBUGNEW
we in the AllocVec in the ChannelAlloc!
DEBUGNEWmsg->Name is #morphos.de
DEBUGNEWc->c_Name is #morphos.de
muiclass_network.(1099MM_ChannelAlloc() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(1070MM_ChannelFind() - Class: 0x3e542510 Object0x3d9b4d90 
DEBUGNEW
we in the AllocVec in the ChannelAlloc!
DEBUGNEWmsg->Name is #aros
DEBUGNEWc->c_Name is #aros
muiclass_network.(1099MM_ChannelAlloc() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(1070MM_ChannelFind() - Class: 0x3e542510 Object0x3d9b4d90 
DEBUGNEW
we in the AllocVec in the ChannelAlloc!
DEBUGNEWmsg->Name is #amiganews.de
DEBUGNEWc->c_Name is #amiganews.de
muiclass_network.(520MM_ServerConnect() - Class: 0x3e542510 Object0x3d9b4d90 
NEWDEBUG
socket base ok
muiclass_network
.(416MM_ServerSocketInit() - Class: 0x3e542510 Object0x3d9b4d90 
muiclass_network
.(488MM_ServerSocketClose() - Class: 0x3e542510 Object0x3d9b4d90 
MM_ServerSocketInit
() - Done 00000000
connecting to 
'irc.freenode.net' Port 6667
DEBUGNEW
we in gehostbyname
muiclass_network
.(638MM_ServerMessageSendMsg() - Class: 0x3e542510 Object0x3d9b4d90 
NEWDEBUG
msg->Message are: /HELLO
NEWDEBUG
msg->channel->c_name are0x00000030 
NEWDEBUG
msg->Channel is NULL

<
CRASH ON ALLOCVEC>


Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@kas1e

Later in the same function there is a NULL check. I don't know why Channel is NULL, but maybe there should be something like

size_t channelNameLen = (msg->Channel) ? strlen(msg->Channel->c_Name) : 0;

and then you can use the result as an AllocVec parameter.

Another thing is that in ChannelFree function ( https://sourceforge.net/p/wookiechat/c ... /muiclass_network.c#l1092 ), channel is freed but msg->Channel is not set to NULL. This seems to leave a dangling pointer and potential future crash in the air.

Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@Capehill
Adding of size_t channelNameLen = (msg->Channel) ? strlen(msg->Channel->c_Name) : 0;

and then you can use the result as an AllocVec parameter, kind of work, but the same as it work when i just do "AllocVec(200,MEMF_ANY);" , but then later again crashes come because of channel.

Something going wrong and trash channels, and that later lead to problems not only in that function, but elsewhere.

I may add to the wookie repo my changes to make it all compiles, so everyone may try to fix it.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@all
I commit necessary changes to wookie repo:
https://sourceforge.net/p/wookiechat/code/HEAD/tree/

So now everyone can download it , and just run "make -f Makefile.aos4" to have aos4 build.

Through, you may have problems with building catalogs via flexcat (as have i on cross-compiler), but probably on real os4 it will works as it. If not, you may need to edit .CD file a bit to remove some "bad" characters. Also to avoid problems with build another catalogs, you may just remove from makefile all catalogs generation except english (at least for tests, until wookie didn't work as should).

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@kas1e
I ran a test compile on my X1000 and after making some catalog related changes to the makefile and some ct files and the cd file, I was able to compile all files except the muiclass_messageinput.c file. That file contains some RAWKEY codes that are not found. The include file "devices/rawkeycodes.h" does not exist in my OS4 SDK. I changed it to "libraries/keymap.h" but 2 rawkey codes are not defined in keymap.h. I have no definitions for RAWKEY_UP & RAWKEY_DOWN. You must have some files in your SDK that I don't have. Do you have the definitions for RAWKEY_UP & RAWKEY_DOWN and where did you get them??

Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450

Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@xenic
There is one from morphos i use:
http://kas1e.mikendezign.com/aos4/wookie/rawkeycodes.h

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
(edit: Nevermind)

Rock lobster bit me - so I'm here forever
X1000 + AmigaOS 4.1 FE
"Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@kas1e
I found the OS4 SDK equivalent definitions for those 2 definitions and added 2 definitions to the sources. I now have WookieChat compiling an linking. I don't know anything about WookieChat but for you or anyone else who wants to debug the program; here are the changes I made to get the sources to compile and link on OS4 native hardware:

Makefile.os4:
Line 11 - The Spanish & French catalog names were borked. I copied the catalog names from the directory names with Dopus4 and replaced the bad ones by pasting the copied directory names.

muiclass_messageinput.c:
Line 26 - Replaced "#include <devices/rawkeycodes.h>" with:
#ifdef __amigaos4__
#include <libraries/keymap.h>
#else
#include <devices/rawkeycodes.h>
#endif

muiclass_messageinput.h:
Line 20 - Added this:
#ifdef __amigaos4__
#define RAWKEY_UP RAWKEY_CRSRUP
#define RAWKEY_DOWN RAWKEY_CRSRDOWN
#endif

system.h:
Line 31 - Added "#include <dos/obsolete.h>"
For whatever reason it didn't work when I added it to system_amigaos4.c.

WookieChat.cd:
Line 247 - Replaced «Join» with <Join> because Flexcat flags « & » as non-printing codes and wouldn't create the catalog. I didn't have time to see if Flexcat has prefs or options to avoid flagging characters.

catalogs/espanol/WookieChat.ct:
Line 103 - Replaced halfop[%%] with halfop[%] because Flexcat flags double percent character (%%) as an error.

catalogs/italiano/WookieChat.ct:
Line 1132 - Replaced %%s with %s because Flexcat flags %% as an error.
Line 1141 - Replaced %%s with %s because Flexcat flags %% as an error.


Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450

Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@xenic
Quote:

but for you or anyone else who wants to debug the program; here are the changes I made to get the sources to compile and link on OS4 native hardware:


:) I already build it of course and trying to debug as you can see above, just without luck. That why i upload stuff to make os4 version compiles, so someone like Xenic who is known to deal with hardcore bugs can fix it :)

You may just run binary, waiting when it crashes, and debug crash till death :) once it will be fixed probably all other stuff will works.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@xenic

debug.c/line 349:

#ifdef __amigaos4__
#include <clib/debug_protos.h>
//#define RawPutChar(chr) kputc( chr )
#endif /* __amigaos4__ */


As i got "undefined reference to `kputc'" I changed to use Exec 'RawPutChar()'

BTW would
#define RawPutChar(chr) DebugPrintF( chr )
work too?


Edited by jabirulo on 2017/1/9 14:55:16
Go to top
Re: WookieChat 2.12 (27.01.10)
Home away from home
Home away from home


See User information
@jabirulo
Quote:

As i got "undefined reference to `kputc'" I changed to use Exec 'RawPutChar()'

BTW would
#define RawPutChar(chr) DebugPrintF( chr )
work too?


Easy solution: uncomment it back, and link against libdebug (it is in makefile already, you probably commented out it) which i upload for you:
http://kas1e.mikendezign.com/aos4/wookie/libdebug.a
Put it to sdk:local/newlib/lib/libdebug.a

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: WookieChat 2.12 (27.01.10)
Just can't stay away
Just can't stay away


See User information
@kas1e
When I ran the compiled WookieChat without it's home directory, it crashed right away. When I D/L WookieChat 2.11 from OS4Depot and used the installer, it replaced my OS4.1FEu1 codesets.library with an ancient version of codesets library; very bad. I updated WookieChat with v2.12b15 and it runs but when I select a server and click connect it fails to connect.

I have never used IRC or WookieChat so it's probably better to let someone who is interrested in IRC ( jabirulo?) try to debug it.

WARNING: The WookieChat installer may overwrite your codesets.library with an older version.

Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450

Go to top

  Register To Post
« 1 (2) 3 4 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project