On Sun, Jan 15, 2012 at 11:46 PM, Carmelo AMOROSO <carmelo.amor...@st.com> wrote: > On 15/01/2012 7.22, Khem Raj wrote: >> On Sat, Jan 14, 2012 at 6:10 PM, Khem Raj <raj.k...@gmail.com> wrote: >>> On Fri, Jan 13, 2012 at 4:13 PM, Khem Raj <raj.k...@gmail.com> wrote: >>>> On Fri, Jan 13, 2012 at 3:45 PM, Khem Raj <raj.k...@gmail.com> wrote: >>>>> On Fri, Jan 13, 2012 at 1:37 AM, Carmelo AMOROSO <carmelo.amor...@st.com> >>>>> wrote: >>>>>>> and since I see the same issue on all architectures probably its not >>>>>>> elfinterp changes >>>>>>> too. Mostly it seems likely that it could be in the way the scopes are >>>>>>> being handled >>>>>>> >>>>>> >>>>>> we have reviewed several times this change before committing. Anyway we >>>>>> will review it again. We have not ever seen any failure in the lookup >>>>>> with all of our tests. The only change in the way the symbol scope is >>>>>> created is in where the ld.so is added. >>>>>> In the original code it was the last entry of the global scope, while >>>>>> with the new structure in place it was added as soon as found (as glibc >>>>>> actually does).... and I don't really think this could have some impact. >>>>> >>>>> I tried to reverse it as well but the problem remained. >>>>> >>>>>> >>>>>> We are trying to startup a X system on our platform. Is there any simple >>>>>> X app we can run to show the failure ? >>>>>> >>>>>> Is some .so failing to be dl-opened due to unresolved symbol ? >>>>> >>>>> this is potentially possible. I will try to debug it through >>>> >>>> This is the problem that happens with the new scoping and does not >>>> happen without it >>>> >>>> Error reading Pango modules file >>>> >>>> (matchbox-desktop:1058): Pango-CRITICAL **: No modules found: >>>> No builtin or dynamically loaded modules were found. >>>> PangoFc will not work correctly. >>>> This probably means there was an error in the creation of: >>>> '/etc/pango/pango.modules' >>>> You should create this file by running: >>>> pango-querymodules > '/etc/pango/pango.modules' >>>> >>>> (matchbox-desktop:1058): Pango-WARNING **: failed to choose a font, >>>> expect ugly output. engine-type='PangoRenderFc', script='latin' >>>> >>>> (matchbox-desktop:1058): Pango-WARNING **: failed to choose a font, >>>> expect ugly output. engine-type='PangoRenderFc', script='common' >>> >>> here is the error >>> >>> /usr/bin/pango-querymodules: can't resolve symbol >>> '_ZNSt14error_categoryD2Ev' in lib '/usr/lib/libstdc++.so.6'. >>> >>> this does not happen without scope patch >>> >>> pango-querymodules loads a shared library >>> /usr/lib/pango/1.6.0/modules/pango-basic-fc.so using dlopen and this >>> library had libstdc++.so.6 in its DT_NEEDED entries >>> >>> I was trying to create a small testcase where I created a small binary >>> which would dlopen another .so which has libstdc++ in DT_NEEDED in its >>> header so not able to reproduce a small testcase but making some >>> progress >> >> >> I might have a test case here http://uclibc.org/~kraj/reproducer_v2.tar.gz >> untar it on target and run make and the ./run.sh >> >> with buggy libraries i get >> root@qemux86:~/rep/reproducer_v2# ./run.sh >> 1)main:dlopen libA.so >> 4)libC:dlopen libB.so >> 5)libC:atexit(libC_fini) >> 6)main:dlclose libA.so >> /home/root/rep/reproducer_v2/main: can't resolve symbol '_libC_fini' >> in lib './/libC.so'. >> >> whereas without the scopes patch I get >> >> root@qemux86:~/rep/reproducer_v2# ./run.sh >> 1)main:dlopen libA.so >> 4)libC:dlopen libB.so >> 5)libC:atexit(libC_fini) >> 6)main:dlclose libA.so >> 7)libC:finish - atexit() >> 8)main:finish main >> root@qemux86:~/rep/reproducer_v2# >> >> >> I think thats the problem that I am facing in pango-querymodules as well >> another data point is if I use BIND_NOW then it works too. >> >> let me know if you can reproduce it with this testcase >> >> Thanks >> -Khem >> > > Thanks khem for your effort in reproducing. > I-ll let you know asap. > > We will focus on this 100% since now. > > Carmelo
I have a patch (sort of) which fixes this issue have a look at it. Problem is that its trying to unload sub scopes after it has been removed from global scope so I just delayed the removal of dlopened library http://www.uclibc.org/~kraj/fix_libdl.patch _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc