I believe I've found the problem. =)

I figured out how to enable debugging and discovered that the segfault
occurred in the CodeDom destructor. Part of the destructor runs a foreach
loop on "source_files", which was null. In order to make sure that object
creation worked correctly, my test included creating a CompletionEngine but
adding nothing to it; hence, a null list and the cause of the segfault. It
should be easily fixed by making sure that the list always exists, even if
it's empty.

On Wed, Aug 31, 2011 at 10:25 AM, Damien Radtke <damienrad...@gmail.com>wrote:

> I don't believe the segfault bug is limited to the CompletionEngine
> destructor. I ran a quick test by commenting out the entire destructor, and
> it didn't help (remember I also ran into the problem when I tried creating a
> CodeDom). I did, however, notice that it adds some log messages via
> Utils.trace; how do I check the log? It looks like it just passes it along
> to GLib.logv(), but I don't know where this method sends the information.
>
>
> On Wed, Aug 31, 2011 at 1:09 AM, Andrea Del Signore <seje...@tin.it>wrote:
>
>> Hi
>>
>> On Tue, 2011-08-30 at 09:29 -0700, Damien Radtke wrote:
>>
>> >
>> > This program ends with ** Message: symbolresolver.vala:54: file
>> > program.vala - can't resolve using directive: Afrodite. I'm assuming
>> > this means that I would have to add libafrodite-0.12.vapi to the
>> > engine manually, but it's installed in the right place, so I shouldn't
>> > have to.
>>
>> No you have to add the vapi to the engine. Afrodite just parse and build
>> the codedom it doesn't know anything about the project structure.
>>
>> In vala-toys another library, vbf (vala build framework), is used to
>> parse the project structure.
>>
>> Anyway when you have the vapi file name, you can use the
>> Afrodite.Utils.get_package_paths to get real full path and the vapi
>> dependecies.
>>
>>
>> >
>> > If I comment out everything between the creation of the engine and
>> > "return 0", then it again exits with a segfault.
>>
>> I think that is a bug in the completionengine object desctructor.
>>
>> > I'd be happy to help contribute to afrodite, but it might take me a
>> > while to learn how it works and where it needs improvements. Any help
>> > or links to good resources would be great.
>>
>> I'm sorry but there isn't such documentation ;) All we have is the
>> afrodite source code and vala compiler source code.
>>
>> So feel free to ask, you can also find me on the vala irc channel I'm
>> sejerpz.
>>
>> > Thanks again,
>> > ~Damien
>>
>> Ciao,
>> Andrea
>>
>>
>>
>
_______________________________________________
vala-list mailing list
vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to