On 9 Mar 2013, at 12:20, Fred Kiefer wrote: >> >> here I checked: >> (gdb) p [invocation->_sig isOneway] >> $7 = 1 '\001' >> >> so it appears that the information about oneway is properly passed, right? >> (gdb) p invocation->_sig->_methodTypes >> $9 = 0x17a9c30 "Vv24@0:8@16" >> >> Is this enough? In case not you need to tell me which part to inspect. > > > I think the interesting stuff happens in frame 4. There we end up in the > needsResponse == YES branch, which seems wrong for a one way method call. You > should have a look at the block from line 2016 to 2039 and find out why > needsResponse gets set to YES. Most likely the method type gets compute > wrongly. We seem to get these strange results sometimes from libobjc2.
Yes ... I can't reproduce the problem on any system I have apaer from the debian 64bit one where I recently installed using llvm/clang and libobjc2. So this seems to be either an llvm/clang specific issue or a libobjc2 specific issue, with the code going wrong later on (ie the invocation itsself seems fine). Unfortunately, llvm/clang produces output here that gdb on debian stable won't handle, so while I can reproduce the exception I can't debug it ... I'm going to try finding a backport of a very recent gdb, or failing that, build gdb from source, to see if it can tell me where the compiler/runtime is producing an unexpected result. _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
