On Friday, 29th July, started my hunt for memory leaks in the recent ECal bindings in Evolution#.
Found a potential memory leak when creating an array of CalComponent objects from icalcomponent and ECalComponent objects. The call to the glue-API that does the intermediate conversion to ECalGlueComponent objects expects the caller to free the returned list of ECalGlueComponent objects but was never freed, instead, the individual fields of this objects were getting freed through the GLib.Marshaller.PtrToStringGFree() method. In order to fix this, I wrote a glue-API that takes the list of ECalGlueComponent objects are unref's them.
Every thing went fine till the new "memory-leak fix" API was called. When the API tried to unref the objects, *BANG*, a sexy segfault occurred.
Spent the whole afternoon trying to nail the culprit in the holy cross, but, didn't. Packed the laptop and caught the 2:30 PM bus to my native.
Saturday, 30th July, 10:00 PM:
Booted to my linux partition. (laptop has got a default windows partition, to be removed). Started hunting for the criminal that actually frees the memory of one of the fields of ECalGlueComponent object. Spent an hour adding all possible g_warning aka fprintf to pring debug messages.
*Voila*, to the epitome of surprise, found the hide-out of the culprit who was doing this - Mono marshaller.
Suppose, if a native call returns a "char*", mono converts it to "string" type by default. However, as an added-offer, it also "de-allocates" the source/original memory.
I am not pretty sure on the behaviour, though.
Expect the unexpected?
Tuesday, August 02, 2005
Thursday, July 28, 2005
Beagle uncovers the missing features in GNOME
Now our smart doggy started unleashing the missing links in GNOME desktop. When the Best shows the unearthed information from your box, the users are tempted to click on the action links in the eye-catching tiles. It is these *action* links on certain types of data that revealed the missing features in GNOME.
Lets see few of them:
Beagle can index Addressbook entries, however, there is no viewer as such in gnome to view contact information (vcards). Contact-lookup-applet has a minimalistic viewer, though not a full-fledged contact editing/viewing application.
Same with Calendar and message/rfc822 messages. No default viewers available in GNOME. Evolution is one good application that understands all these formats/files, however, doesn't support opening/viewing these files, unless it is part of its configured account.
Going forward, Beagle will definitely uncover many such missing links.
Lets see few of them:
Beagle can index Addressbook entries, however, there is no viewer as such in gnome to view contact information (vcards). Contact-lookup-applet has a minimalistic viewer, though not a full-fledged contact editing/viewing application.
Same with Calendar and message/rfc822 messages. No default viewers available in GNOME. Evolution is one good application that understands all these formats/files, however, doesn't support opening/viewing these files, unless it is part of its configured account.
Going forward, Beagle will definitely uncover many such missing links.
Wednesday, July 20, 2005
Baatein bool jaatein hain, magar, yaadein yaad aatein hain
I took a day off since my 32nd & 33rd vertebral bones and its neighbours raised extreme alarm and went on a strike for more than 5 hrs before I could control them. And because of this strike I couldn't involve myself in much of physical activities, but, my mind started refreshing its cache and found many interesting pieces of evergreen memories.
Recently I met one of my Device driver team mates here in Bangalore. We worked together in Newgen, Delhi. Our days in Newgen passed like our college days. Usual long working hours, gossips, spoofs etc., made us known as the "Coolest" guys. "Less tension More work" was our punch-line, or whatever you call it, at work. Along with us was this girl who used to be like serious, stick to work etc kinda girl and the "mahool" changed her too.
So, was the "mahool" of backend team of EAGLE project. Well, the reason was very obvious that I was also working for them apart from Device drivers. Though we spent long-working-days, the weekends used to be lot of fun. Every weekend starts with a new movie on friday night. Saturdays and Sundays are mostly filled with long drives outside Delhi.
Hope someday I will bring the same "mahool" here in bangalore too. :-)
Recently I met one of my Device driver team mates here in Bangalore. We worked together in Newgen, Delhi. Our days in Newgen passed like our college days. Usual long working hours, gossips, spoofs etc., made us known as the "Coolest" guys. "Less tension More work" was our punch-line, or whatever you call it, at work. Along with us was this girl who used to be like serious, stick to work etc kinda girl and the "mahool" changed her too.
So, was the "mahool" of backend team of EAGLE project. Well, the reason was very obvious that I was also working for them apart from Device drivers. Though we spent long-working-days, the weekends used to be lot of fun. Every weekend starts with a new movie on friday night. Saturdays and Sundays are mostly filled with long drives outside Delhi.
Hope someday I will bring the same "mahool" here in bangalore too. :-)
Saturday, July 16, 2005
ECal bindings in Evolution#
Just got my first version of ECal mono bindings committed to the evolution-sharp cvs tree. Have to add recurrence support and few more fields that may be of some use to the bindings.
Also, got to write couple of APIs so that the same bindings can be used to filter ".ics" files. ;)
On the other hand still banging my head to fix a "SIGSEGV" in Tungsten T5 device!!
Also, got to write couple of APIs so that the same bindings can be used to filter ".ics" files. ;)
On the other hand still banging my head to fix a "SIGSEGV" in Tungsten T5 device!!
Thursday, July 14, 2005
Pilot link 0.11.8 Vs 0.12.x
I would say its a himalayan difference between those two versions of Pilot-link. 0.12.x has nice new, more managed data structures, improved performance, robust error-handling and reporting and supports recent versions of palm-devices. However, 0.11.8 wasn't a bad one though. :-)
Started porting gnome-pilot to use 0.12.x as well as 0.11.8 by writing some wrappers for the APIs that are changed in 0.12.x. The device gets connected but doesn't sync. :(
Nevermind, watch this space for more updates on my encounters with gnome-pilot with latest pilot-link.
Started porting gnome-pilot to use 0.12.x as well as 0.11.8 by writing some wrappers for the APIs that are changed in 0.12.x. The device gets connected but doesn't sync. :(
Nevermind, watch this space for more updates on my encounters with gnome-pilot with latest pilot-link.
Tuesday, July 12, 2005
Beagles @ GUADEC
You can find some photos of the Beagle hackers (and other GNOME hackers) at GUADEC this year here.
Mission Tungsten T5 complete
A while ago I tried to setup Tungsten T5 (pilot device) and did not succeed. Today started with full zeal to finish the mission of configuring it.
With the help of a short write-up about writing udev rules for pilots by Carsten Clasohm and a detailed write-up about writing udev rules by our Daniel Drake, I finally hooked-up my Tungsten T5 to sync evolution calendars/contacts/tasks successfully.
Daniel: Dude you rock!!
With the help of a short write-up about writing udev rules for pilots by Carsten Clasohm and a detailed write-up about writing udev rules by our Daniel Drake, I finally hooked-up my Tungsten T5 to sync evolution calendars/contacts/tasks successfully.
Daniel: Dude you rock!!
Monday, July 11, 2005
Mono bindings - Key to easy hacking
I have been working on providing a good e-cal wrappers in evolution-sharp as the default GAPI stuff don't work for most of the required-APIs because of the intensive use of ical APIs and data definitions.
What I have learnt from this short experience is that any application can be extended to provide good mono API wrappers that can be used to extend these application or write new cool stuffs using them.
Also, I should request for a big hand for GAPI, the provider of these wrappers. Though there are pits and falls, still GAPI rocks!!
Evolution has support for plugins written in Mono. This is a good welcoming step taken by the Evolution team. I would request the evolution team to actively maintain and update evolution-sharp as well, because, people will love to have bindings for the cool features that Evolution has.
(I can be one of your active contributors as well, if you guys like me. ;) )
I heard OpenOffice also supports Mono, but, don't have any exact data on what sort of support they provide. (for running VBA scripts?)
What I have learnt from this short experience is that any application can be extended to provide good mono API wrappers that can be used to extend these application or write new cool stuffs using them.
Also, I should request for a big hand for GAPI, the provider of these wrappers. Though there are pits and falls, still GAPI rocks!!
Evolution has support for plugins written in Mono. This is a good welcoming step taken by the Evolution team. I would request the evolution team to actively maintain and update evolution-sharp as well, because, people will love to have bindings for the cool features that Evolution has.
(I can be one of your active contributors as well, if you guys like me. ;) )
I heard OpenOffice also supports Mono, but, don't have any exact data on what sort of support they provide. (for running VBA scripts?)
Long long ago...
"Long long ago there was a beagle hacker named Varadhan....." I am afraid that in another couple of months my name will find the first place in HISTORY file in Beagle sources. ;-)
Yes, from hacking in Beagle now my hacking status has become hacking for beagle. Nevermind, till I am close to my pet. These days I am playing with a big-chunk-of-code called "Evolution & Co.," adding support for Beagle in evolution to make beagle seamlessly index evolution data.
Just got my patches for opening a calendar-item and contacts from command-line committed, as moving these editors to evolution-data-server is a future task also have added a "forward" option to the mail-uri that we use to open/reply mails from command-line.
And kudos... my ECal bindings will find its way to cvs in a day or two. With that, I will start hacking in beagle again. :-)
Not the least, the latest puppy is doing fine. I think it has grown-up well to mention it as a dog now. ;-)
Yes, from hacking in Beagle now my hacking status has become hacking for beagle. Nevermind, till I am close to my pet. These days I am playing with a big-chunk-of-code called "Evolution & Co.," adding support for Beagle in evolution to make beagle seamlessly index evolution data.
Just got my patches for opening a calendar-item and contacts from command-line committed, as moving these editors to evolution-data-server is a future task also have added a "forward" option to the mail-uri that we use to open/reply mails from command-line.
And kudos... my ECal bindings will find its way to cvs in a day or two. With that, I will start hacking in beagle again. :-)
Not the least, the latest puppy is doing fine. I think it has grown-up well to mention it as a dog now. ;-)
Wednesday, February 09, 2005
Dial-up is finally up!!
Voila!! after a marathon-of-hurdles, finally got my PC @ home up and running and connected to internet, howwever, the netapplet goes for a toss whenever I connect to internet. Hope an update of packages will fix it. ;-).
Internet connection @ home always boosts up energy to spend more time on hacking, along with a *good kitchen*, a cable connection on your PC to watch TV programs. Hugh!! sounds like a scene from any Holywood movies?.. heh!! its true.. lemme try it for a week and blog more on it!!
In Beagleland, everyone seems to working towards making the little doggy stronger. I am doing testing of filters and fixing bugs in them when ever I find one. Lately, fixed couple of bugs in Doc filter which were not filed ;-). I have to start the habit of filing bugs and then fixing it. Krish was also mentioning that.
My "C" interface for beagle has inched a bit that possibly will have a working (minimal) prototype by this weekend, not quite sure on timeframe, though. ;-)
If anybody wants to have a look at "Mono Embedded APIs", click here. Dudes!! it is pretty interesting, you should read it!! B-)
Internet connection @ home always boosts up energy to spend more time on hacking, along with a *good kitchen*, a cable connection on your PC to watch TV programs. Hugh!! sounds like a scene from any Holywood movies?.. heh!! its true.. lemme try it for a week and blog more on it!!
In Beagleland, everyone seems to working towards making the little doggy stronger. I am doing testing of filters and fixing bugs in them when ever I find one. Lately, fixed couple of bugs in Doc filter which were not filed ;-). I have to start the habit of filing bugs and then fixing it. Krish was also mentioning that.
My "C" interface for beagle has inched a bit that possibly will have a working (minimal) prototype by this weekend, not quite sure on timeframe, though. ;-)
If anybody wants to have a look at "Mono Embedded APIs", click here. Dudes!! it is pretty interesting, you should read it!! B-)
Subscribe to:
Posts (Atom)