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