|
From: Daniel G. <dg...@su...> - 2008-01-09 18:58:46
|
On Mittwoch 09 Januar 2008, Anil wrote: > The file plugin works, but not the syncml plugin. > Also, if I set the trace environment variables as suggested on some of > the site, it cores even more. Apparently, it has problems getting from > the environment: > > > vds5@vds5:~% export OSYNC_TRACE=~ > vds5@vds5:~% export SYNCML_TRACE=~ Oh, you had _TRACE files enabled? Unfortunately, a lot of code of our codebase is lacking in one very fundamental issue, at least i wasn't aware of it. We have lot's of debugging output which includes char pointers which might be NULL. This is wrong, and make a lot of pain on Solaris, since libc of Solaris will dereferences this NULL pointer (and cause the crash). I wasn't aware of this issue, since i only got i touch so far with glibc, anyway it's just bad coding of me and just wrong. I'll try to clean this mess up the next days... sorry about that. Could you try in meanwhile to preload /usr/lib/0@0.so.1 Jijun Yu, applied once a big patch which fixed several places in OpenSync where those debug output might contain a NULL char pointer.. i reverted it, for three reason: i had no idea, i'm just dumb and last but not least i wanted to have clean solution instead of tons of mini-ifs in every debug statement. I thought about a customized xprintf function (sqlite is using for debugging output also an customized one which is portable), or just remove unneeded/obsolete debug statements which might include NULL char pointer. If you're interested what this is all about you might check: http://technopark02.blogspot.com/2006/04/solaris-null-pointer-bugs-usrlib00so1.html best regards, Daniel |