Fwd: Cron <glen at carme-pld> ~/rpm/PLD-doc/notify-specsupdate.sh
Adam Gołębiowski
adamg at pld-linux.org
Thu Oct 25 15:21:37 CEST 2018
W dniu 2018-10-23 13:01, Arkadiusz Miśkiewicz napisał(a):
> On 23/10/2018 12:43, glen wrote:
>> any plans to fix cvs.pld-linux.org?
>
> cvs-nserver segfaults and needs some debugging or better switching to
> other maintained cvs
>
>
>> cvs [status aborted]: reading from server: Connection reset by peer
Had a look at this today, there's some magic happening here:
15:01:13: S -> Loading protocol enum as enum.la
15:01:13: S -> DDDDEBUG: name=enum.la
directory=/usr/lib64/cvsnt/protocols
15:01:13: S -> It is ORACLE so save environment.
that nails down the path to
cvsnt-2.5.05.3744/cvsapi/unix/LibraryAccess.cpp:
75 bool CLibraryAccess::Load(const char *name, const char *directory)
76 {
77 if(m_lib)
78 Unload();
79
80 CServerIo::trace(3, "DDDDEBUG: name=%s directory=%s", name,
directory);
81 if (strncmp(name,"oracle",6)==0)
82 {
83 /* this is very messy, but the server crashes/hangs
84 when the oracle library is unloaded due to the
85 putenv ... */
86
87 /* For this kind of thing better to put a load/unload
hook in the
88 library itself, otherwise it just gets too messy
hardcoding
89 everything. */
90
91 CServerIo::trace(3,"It is ORACLE so save
environment.");
92 strcpy(save_nls_lang,getenv("NLS_LANG"));
So it looks like it compares name ("enum.la") to "oracle" and decides
they are equal...
and if I comment this part out, it goes into infinite loop
--
Adam Gołębiowski, PLD Linux
More information about the pld-devel-en
mailing list