gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: strange issue with Mutable Dictionary


From: Fred Kiefer
Subject: Re: strange issue with Mutable Dictionary
Date: Fri, 16 Mar 2018 10:44:57 +0100

Hi Riccardo,

it is hard to help out with the amount of information given. Which version of 
Pantomime is Sebastian using? And how was the object causing the issue created? 
(init, initWithData:, initWithCoder:)

The class CWMessage itself is quite a mess. The init method set the version 
number, this belongs of course into the initialize method that is also present. 
The initWithData: method work only because the super implementation of this 
method calls the init method. The initWithData:charset: method is wrong, but it 
could as well just be deleted as this method is present on the super class and 
correct there. And the initWithCoder: method does not initialize the 
_properties ivar.

I would suggest that you clean up these issues first (and similar ones in the 
super class CWPart) and if the problem persists we have another go on it. If 
you have trouble with the clean up and am willing to help. I just don’t want to 
analyse a clearly broken class.

Fred 

> Am 15.03.2018 um 12:10 schrieb Riccardo Mottola <address@hidden>:
> 
> Hi,
> 
> Sebastian sent me a stacktrace of GNUMail+Pantomime crashing for him.
> 
> Now the issues could be many leading to the crash, but I do not the 
> understand the stactrace, which I paste below.
> 
> Frame 2 comes from this code:
> 
> [_properties removeObjectForKey: theKey];
> 
> can removeObjectForKey fail in a bad way ?
> 
>  theKey is a constant, it comes from line 531;
> [self setProperty: theBaseSubject  forKey: @"baseSubject"
> ];
> 
> theBaseSubjet is explicitely nil. The code seems quite simple in this regard.
> _properties itself is allocated/retained in init and released at the end.
> 
> Any suggestions? Besides that the whole Message is for some reason not 
> properly retained or allocated, thus leading to a garbage situation-
> 
> 
> Riccardo
> 
> 
>  
> Program received signal SIGBUS, Bus error.
> 0x00000c48e63800f4 in objc_msgSend_fpret () from 
> /usr/local/lib/libobjc2.so.1.1
> (gdb) bt
> #0  0x00000c48e63800f4 in objc_msgSend_fpret () from 
> /usr/local/lib/libobjc2.so.1.1
> #1  0x00000c48fba1ebf8 in -[CWMessage setProperty:forKey:] 
> (self=0xc4862ca8a08, _cmd=0xc48fbd1fc00 <.objc_selector_list+816>, 
> theProperty=0x0, 
>     theKey=0xc48fbd1e760 <.objc_str.86>) at CWMessage.m:592
> #2  0x00000c48fba1e9f3 in -[CWMessage setBaseSubject:] (self=0xc4862ca8a08, 
> _cmd=0xc48fbd1fe10 <.objc_selector_list+1344>, theBaseSubject=0x0) at 
> CWMessage.m:531
> #3  0x00000c48fba1e912 in -[CWMessage setSubject:] (self=0xc4862ca8a08, 
> _cmd=0xc48fbd22908 <.objc_selector_list+880>, theSubject=0xc488c5bc988) at 
> CWMessage.m:502
> #4  0x00000c48fba2aebf in +[CWParser parseSubject:inMessage:quick:] 
> (self=0xc48fbd22398 <_OBJC_CLASS_CWParser>, _cmd=0xc48fbd1fdc0 
> <.objc_selector_list+1264>, 
>     theLine=0xc48b5360708, theMessage=0xc4862ca8a08, theBOOL=0 '\000') at 
> CWParser.m:929
> #5  0x00000c48fba22f26 in -[CWMessage addHeadersFromData:record:] 
> (self=0xc4862ca8a08, _cmd=0xc48fbd1f9f0 <.objc_selector_list+288>, 
> theHeaders=0xc48b53601c8, 
>     theRecord=0x7f7ffffc10c8) at CWMessage.m:1470
> #6  0x00000c48fba23248 in -[CWMessage setHeadersFromData:record:] 
> (self=0xc4862ca8a08, _cmd=0xc48fbd07d88 <.objc_selector_list+1168>, 
> theHeaders=0xc48b5360a08, 
>     theRecord=0x7f7ffffc10c8) at CWMessage.m:1510
> #7  0x00000c48fb9fdad3 in -[CWIMAPStore(Private) _parseFETCH:] 
> (self=0xc484c937708, _cmd=0xc48fbd07b48 <.objc_selector_list+592>, 
> theMSN=12641) at CWIMAPStore.m:2100
> #8  0x00000c48fb9f71b4 in -[CWIMAPStore updateRead] (self=0xc484c937708, 
> _cmd=0xc48fbd29e60 <.objc_selector_list+832>) at CWIMAPStore.m:560
> #9  0x00000c48fba389b9 in -[CWService receivedEvent:type:extra:forMode:] 
> (self=0xc484c937708, _cmd=0xc48460365e8 <.objc_selector_list+96>, 
> theData=0xa, 
>     theType=ET_RDESC, theExtra=0xa, theMode=0xc4845fc6f28 <.objc_str>) at 
> CWService.m:654
> #10 0x00000c4845905dcf in -[GSRunLoopCtxt pollUntil:within:] 
> (self=0xc483ab08b08, _cmd=0xc4845fc82e8 <.objc_selector_list+1232>, 
> milliseconds=0, 
>     contexts=0xc4901638e08) at GSRunLoopCtxt.m:600
> #11 0x00000c48457ea6c1 in -[NSRunLoop acceptInputForMode:beforeDate:] 
> (self=0xc4853475008, _cmd=0xc4845fc7e78 <.objc_selector_list+96>, 
>     mode=0xc4845fc6f28 <.objc_str>, limit_date=0xc48b0b661a8) at 
> NSRunLoop.m:1224
> #12 0x00000c48457eac7a in -[NSRunLoop runMode:beforeDate:] 
> (self=0xc4853475008, _cmd=0xc4879125110 <.objc_selector_list+400>, 
> mode=0xc4845fc6f28 <.objc_str>, 
>     date=0xc4853478808) at NSRunLoop.m:1304
> #13 0x00000c487861c4d7 in -[GSDisplayServer(EventOps) 
> getEventMatchingMask:beforeDate:inMode:dequeue:] (self=0xc48fd5bd008, 
>     _cmd=0xc48e5c24e78 <.objc_selector_list+144>, mask=4294967295, 
> limit=0xc4853478808, mode=0xc4845fc6f28 <.objc_str>, flag=1 '\001') at 
> GSDisplayServer.m:1040
> #14 0x00000c48e5929544 in -[XGServer(X11Ops) 
> getEventMatchingMask:beforeDate:inMode:dequeue:] (self=0xc48fd5bd008, 
> _cmd=0xc4878fbee58 <.objc_selector_list+3072>, 
>     mask=4294967295, limit=0xc4853478808, mode=0xc4845fc6f28 <.objc_str>, 
> flag=1 '\001') at XGServerEvent.m:2575
> #15 0x00000c48783a104c in DPSGetEvent (ctxt=0xc48fd5bd008, mask=4294967295, 
> limit=0xc4853478808, mode=0xc4845fc6f28 <.objc_str>)
>     at ../Headers/Additions/GNUstepGUI/GSDisplayServer.h:200
> #16 0x00000c48783a1e5c in -[NSApplication 
> nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0xc48f93e6e08, 
> _cmd=0xc4878fbf6e8 <.objc_selector_list+5264>, 
>     mask=4294967295, expiration=0xc4853478808, mode=0xc4845fc6f28 
> <.objc_str>, flag=1 '\001') at NSApplication.m:2178
> #17 0x00000c487839ff0c in -[NSApplication run] (self=0xc48f93e6e08, 
> _cmd=0xc4878faaa30 <.objc_selector_list+144>) at NSApplication.m:1553
> #18 0x00000c4878373883 in NSApplicationMain (argc=1, argv=0x7f7ffffc3b68) at 
> Functions.m:91
> #19 0x00000c462990065e in gnustep_base_user_main (argc=1, 
> argv=0x7f7ffffc3b68, env=0x7f7ffffc3b78) at GNUMail_main.m:41
> #20 0x00000c48457ceb8a in main (argc=1, argv=0x7f7ffffc3b68, 
> env=0x7f7ffffc3b78) at NSProcessInfo.m:1002
> 
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev




reply via email to

[Prev in Thread] Current Thread [Next in Thread]