[OGo-GNUstep-Port] experiences with OGo and gunstep-base on OpenBSD
Sebastian Reitenbach
gnustep-port@opengroupware.org
Mon, 28 May 2007 13:15:06 +0200
Hi,
gnustep-port@opengroupware.org wrote:
> On May 28, 2007, at 12:21, Sebastian Reitenbach wrote:
> > There seems to be two problems:
> > 1. in gnustep-base NSAutoreleasePool.m:404
>
> Thats most likely a memory "leak" caused by a difference the way some
> objects are autoreleased. I recently walked over a similiar thing on
> MacOS.
> Kinda hard to debug, would need detailed investigation. I had a look
> over the code section of LSDBFetchRelationCommand but couldn't see
> anything obvious.
I first commented out a lot of [pool release]; in sope and ogo, to get it
working, so it is not only in LSDBFetchRelationCommand.
>
> > 2. in gnustep-base NSKeyValueCoding.m:350
>
> Not sure what the exact problem is here. Sure, KVC raises exceptions
> if it can't resolve a key on an object. So we need to know the object/
> key which is missing ...
May 28 13:03:36 ogo-webui-1.1 [29608]: (73A873A801465AB708) user sebastia
logged in.
May 28 13:03:36 ogo-webui-1.1 [29608]: [ERROR] (73A873A801465AB708) did not
find dockable page: 'Registration'
May 28 13:03:36 ogo-webui-1.1 [29608]: SkyDock did not find dockable page
Registration
2007-05-28 13:03:37.635 ogo-webui-1.1[29608] Note: using flat-array message
notifications!
2007-05-28 13:03:38.423 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:03:38.427 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:03:38.563 ogo-webui-1.1[29608] File NSData.m: 167. In
readContentsOfFile Open (/var/ogo/documents/10006.txt) attempt failed - No
such file or directory
2007-05-28 13:03:38.720 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= 0; NSUnknownUserInfoKey = news_blocksize; }
10.0.0.9 - - [28/May/2007:13:03:38
GMT] "POST /OpenGroupware.woa/x/login?da=&o=1180350198 HTTP/1.1" 200 3652/122
3.368 20038 81% -
2007-05-28 13:04:07.417 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:04:07.419 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
10.0.0.9 - - [28/May/2007:13:04:39
GMT] "GET
/OpenGroupware.woa/x/dock?woinst=29608&wosid=73A873A801465AB708&cid=003465ab7077e82fc08&page=LSWImapMails
HTTP/1.1" 200 18129/0 32.648 367603 95% -
2007-05-28 13:04:48.122 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:04:48.123 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:04:48.331 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= 20; NSUnknownUserInfoKey = address_blocksize; }
10.0.0.9 - - [28/May/2007:13:04:48
GMT] "GET
/OpenGroupware.woa/x/dock?woinst=29608&wosid=73A873A801465AB708&cid=004465ab7268862cc08&page=LSWPersons
HTTP/1.1" 200 4461/0 0.644 34705 87% -
2007-05-28 13:05:19.944 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:05:19.945 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
10.0.0.9 - - [28/May/2007:13:05:20
GMT] "GET
/OpenGroupware.woa/x/dock?woinst=29608&wosid=73A873A801465AB708&cid=005465ab74f8b4bf008&page=LSWImapMails
HTTP/1.1" 200 18200/0 1.147 367872 95% -
2007-05-28 13:05:31.825 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:05:31.826 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
10.0.0.9 - - [28/May/2007:13:05:32
GMT] "GET
/OpenGroupware.woa/wo/73A873A801465AB708/006465ab76f81368c08.0.17.1.1.1.3.b.mail.1.1.1.1.1.1.1.1.0.0.5.3.20.end.1.1.1
HTTP/1.1" 200 12648/0 2.282 267741 95% -
2007-05-28 13:05:37.486 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:05:37.487 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
10.0.0.9 - - [28/May/2007:13:05:37
GMT] "GET
/OpenGroupware.woa/x/SkyImapMailActions/viewImapMail?listName=MailList&cid=007465ab77a8039e008&wosid=73A873A801465AB708&woinst=29608&url=imap%3A%2F%2Fcommunicator.ds9%2FINBOX%2FML%2FSW%2Fogo-gnustep-port%2F2
HTTP/1.1" 200 5830/0 1.128 48484 87% -
2007-05-28 13:05:54.885 ogo-webui-1.1[29608] File NSData.m: 167. In
readContentsOfFile Open (/var/ogo/GNUstep/config/MailRestrictions.plist)
attempt failed - No such file or directory
2007-05-28 13:05:55.307 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:05:55.308 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= Misc; NSUnknownUserInfoKey = misc; }
2007-05-28 13:05:55.372 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= 80; NSUnknownUserInfoKey = mail_editor_text_columns; }
2007-05-28 13:05:55.372 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= 20; NSUnknownUserInfoKey = mail_editor_text_rows; }
2007-05-28 13:05:55.398 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= 80; NSUnknownUserInfoKey = mail_editor_text_columns; }
2007-05-28 13:05:55.398 ogo-webui-1.1[29608] dict: {NSTargetObjectUserInfoKey
= 20; NSUnknownUserInfoKey = mail_editor_text_rows; }
above the contents of the dict Dictionary before the commented out exception.
The first occurence, while login, would have raised the exception, code below.
- (void) setValue: (id)anObject forUndefinedKey: (NSString*)aKey
{
NSDictionary *dict;
NSException *exp;
static IMP o = 0;
/* Backward compatibility hack */
if (o == 0)
{
o = [NSObject instanceMethodForSelector:
@selector(handleTakeValue:forUnboundKey:)];
}
if ([self methodForSelector: @selector(handleTakeValue:forUnboundKey:)] !=
o)
{
[self handleTakeValue: anObject forUnboundKey: aKey];
return;
}
dict = [NSDictionary dictionaryWithObjectsAndKeys:
(anObject ? (id)anObject : (id)@"(nil)"), @"NSTargetObjectUserInfoKey",
(aKey ? (id)aKey : (id)@"(nil)"), @"NSUnknownUserInfoKey",
nil];
NSLog(@"dict: %@", dict);
// exp = [NSException exceptionWithName: NSInvalidArgumentException
// reason: @"Unable to set nil value for key"
// userInfo: dict];
// [exp raise];
}
>
> This is a difference between lF and GNUstep/Cocoa, we do not raise
> exceptions but just return nil for unknown keys.
so in Cocoa it would raise an exception here too? or what happens with these
key value pairs there? I've no access to a mac machine to take a look.
>
> Greets,
> Helge
kind regards
Sebastian