[M3devel] Fwd: [CM3] #1148: CVSup stalls on several platforms

Olaf Wagner wagner at elegosoft.com
Fri Aug 27 08:14:05 CEST 2010


FYI -- I thought this was working, but it's still broken...

----- Forwarded message from bugs at elego.de -----
     Date: Fri, 27 Aug 2010 06:05:05 -0000
     From: CM3 <bugs at elego.de>
Reply-To: CM3 <bugs at elego.de>
  Subject: [CM3] #1148: CVSup stalls on several platforms
       To: wagner at elego.de

#1148: CVSup stalls on several platforms
--------------------------+-------------------------------------------------
       Reporter:  wagner   |        Owner:  wagner
           Type:  sw-bug   |       Status:  new
       Priority:  high     |    Milestone:  CM3 Release 5.9
      Component:  misc     |      Version:  5.8-RC3
       Severity:  serious  |     Keywords:  cvsup, stalling, hanging, pthreads
        Relnote:           |          Org:
Estimatedhours:  0        |        Hours:  0
       Billable:  0        |   Totalhours:  0
       Internal:  0        |
--------------------------+-------------------------------------------------
Htr:
try to mirror the cm3 repository, possible any other, too


Fix:



Env:


--------------------------+-------------------------------------------------
  We either still have a problem with fork, or in the pthreads
  implementation. Here's some evidence from a mail thread:

  I do, but I'm having trouble with cvsup from release_branch_cm3_5_8
  LINUXLIB6. It stalls and hangs after a few minutes. strace says this
  forever:

  clone(child_stack=0xb140f4c4,
   
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
  parent_tidptr=0xb140fbd8, {entry_number:6, base_addr:0xb140fb90,
  limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
  limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb140fbd8)
  =
  20265
  write(1, "Running\n"..., 8Running
  )             = 8
  futex(0x80ac0cc, FUTEX_WAIT, 5, NULL)   = -1 EINTR (Interrupted   system
  call)
  --- SIGRT_32 (Real-time signal 30) @ 0 (0) ---
  rt_sigsuspend(~[INT QUIT ABRT TERM RTMIN RT_1] <unfinished ...>
  --- SIGRT_32 (Real-time signal 30) @ 0 (0) ---
  <... rt_sigsuspend resumed> )           = -1 EINTR (Interrupted   system
  call)
  rt_sigreturn(0xb7aedf00)                = -1 EINTR (Interrupted   system
  call)
  rt_sigreturn(0x80ac0cc)                 = -1 EINTR (Interrupted   system
  call)
  futex(0x80ac0cc, FUTEX_WAIT, 5, NULL)   = -1 EINTR (Interrupted   system
  call)
  --- SIGRT_32 (Real-time signal 30) @ 0 (0) ---
  rt_sigsuspend(~[INT QUIT ABRT TERM RTMIN RT_1] <unfinished ...>
  --- SIGRT_32 (Real-time signal 30) @ 0 (0) ---
  <... rt_sigsuspend resumed> )           = -1 EINTR (Interrupted   system
  call)
  rt_sigreturn(0xb7aedf00)                = -1 EINTR (Interrupted   system
  call)
  rt_sigreturn(0x80ac0cc)                 = -1 EINTR (Interrupted   system
  call)
  futex(0x80ac0cc, FUTEX_WAIT, 5, NULL)   = -1 EINTR (Interrupted   system
  call)
  --- SIGRT_32 (Real-time signal 30) @ 0 (0) ---
  rt_sigsuspend(~[INT QUIT ABRT TERM RTMIN RT_1] <unfinished ...>
  --- SIGRT_32 (Real-time signal 30) @ 0 (0) ---

  Any ideas there?
  Maybe I'll just reinstall with FreeBSD ;-)
  Is this with the actual release (5.8.6) or any RC?
  Yes, I used cm3-bin-core-LINUXLIBC6-5.8.6-REL.tgz and
  cm3-src-all-5.8.6-REL.tgz with.

  wiley:/home/mand# cvsup -v
  CVSup client, GUI version
  Copyright 1996-2003 John D. Polstra
  Software version: release_branch_cm3_5_8
  Protocol version: 17.0
  Operating system: LINUXLIBC6

  @Jay, you did correct the process startup so that CVSup should work,
  didn't you? Any ideas about this one?

  @Mike, can you attach with gdb and get a stack backtrace?
  Here it is...

  wiley:/home/mand# gdb -p 32607
  GNU gdb 6.8-debian
  Copyright (C) 2008 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later
  <http://gnu.org/licenses/gpl.html>
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  and "show warranty" for details.
  This GDB was configured as "i486-linux-gnu".
  Attaching to process 32607
  Reading symbols from /usr/local/cm3/bin/cvsup...done.
  Reading symbols from /usr/local/cm3/lib/libm3formsvbt.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3formsvbt.so.5
  Reading symbols from /usr/local/cm3/lib/libm3formsvbtpixmaps.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3formsvbtpixmaps.so.5
  Reading symbols from /usr/local/cm3/lib/libvideovbt.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libvideovbt.so.5
  Reading symbols from /usr/local/cm3/lib/libweb.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libweb.so.5
  Reading symbols from /usr/local/cm3/lib/libjvideo.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libjvideo.so.5
  Reading symbols from /usr/local/cm3/lib/libm3vbtkit.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3vbtkit.so.5
  Reading symbols from /usr/local/cm3/lib/libm3ui.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3ui.so.5
  Reading symbols from /usr/local/cm3/lib/libm3X11R4.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3X11R4.so.5
  Reading symbols from /usr/local/cm3/lib/libsuplib.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libsuplib.so.5
  Reading symbols from /usr/lib/libz.so.1...done.
  Loaded symbols for /usr/lib/libz.so.1
  Reading symbols from /usr/local/cm3/lib/libm3tcp.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3tcp.so.5
  Reading symbols from /usr/local/cm3/lib/libset.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libset.so.5
  Reading symbols from /usr/local/cm3/lib/libTempFiles.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libTempFiles.so.5
  Reading symbols from /usr/local/cm3/lib/libm3.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3.so.5
  Reading symbols from /usr/local/cm3/lib/libm3core.so.5...done.
  Loaded symbols for /usr/local/cm3/bin/../lib/libm3core.so.5
  Reading symbols from /usr/lib/libXaw.so.7...done.
  Loaded symbols for /usr/lib/libXaw.so.7
  Reading symbols from /usr/lib/libXmu.so.6...done.
  Loaded symbols for /usr/lib/libXmu.so.6
  Reading symbols from /usr/lib/libXext.so.6...done.
  Loaded symbols for /usr/lib/libXext.so.6
  Reading symbols from /usr/lib/libXt.so.6...done.
  Loaded symbols for /usr/lib/libXt.so.6
  Reading symbols from /usr/lib/libSM.so.6...done.
  Loaded symbols for /usr/lib/libSM.so.6
  Reading symbols from /usr/lib/libICE.so.6...done.
  Loaded symbols for /usr/lib/libICE.so.6
  Reading symbols from /usr/lib/libX11.so.6...done.
  Loaded symbols for /usr/lib/libX11.so.6
  Reading symbols from /lib/libm.so.6...done.
  Loaded symbols for /lib/libm.so.6
  Reading symbols from /lib/libpthread.so.0...done.
  [Thread debugging using libthread_db enabled]
  [New Thread 0xb6ec26b0 (LWP 32607)]
  [New Thread 0xb140fb90 (LWP 32617)]
  [New Thread 0xb1e0fb90 (LWP 32616)]
  [New Thread 0xb320fb90 (LWP 32614)]
  [New Thread 0xb3c0fb90 (LWP 32613)]
  [New Thread 0xb460fb90 (LWP 32612)]
  [New Thread 0xb5051b90 (LWP 32611)]
  [New Thread 0xb5a7fb90 (LWP 32610)]
  [New Thread 0xb647fb90 (LWP 32609)]
  [New Thread 0xb6e7fb90 (LWP 32608)]
  Loaded symbols for /lib/libpthread.so.0
  Reading symbols from /lib/libc.so.6...done.
  Loaded symbols for /lib/libc.so.6
  Reading symbols from /usr/lib/libXpm.so.4...done.
  Loaded symbols for /usr/lib/libXpm.so.4
  Reading symbols from /usr/lib/libXau.so.6...done.
  Loaded symbols for /usr/lib/libXau.so.6
  Reading symbols from /usr/lib/libxcb-xlib.so.0...done.
  Loaded symbols for /usr/lib/libxcb-xlib.so.0
  Reading symbols from /usr/lib/libxcb.so.1...done.
  Loaded symbols for /usr/lib/libxcb.so.1
  Reading symbols from /lib/libdl.so.2...done.
  Loaded symbols for /lib/libdl.so.2
  Reading symbols from /lib/ld-linux.so.2...done.
  Loaded symbols for /lib/ld-linux.so.2
  Reading symbols from /usr/lib/libXdmcp.so.6...done.
  Loaded symbols for /usr/lib/libXdmcp.so.6
  Reading symbols from /lib/libnss_files.so.2...done.
  Loaded symbols for /lib/libnss_files.so.2
  Reading symbols from /lib/libnss_mdns4_minimal.so.2...done.
  Loaded symbols for /lib/libnss_mdns4_minimal.so.2
  Reading symbols from /lib/libnss_dns.so.2...done.
  Loaded symbols for /lib/libnss_dns.so.2
  Reading symbols from /lib/libresolv.so.2...done.
  Loaded symbols for /lib/libresolv.so.2
  Reading symbols from /lib/libnss_compat.so.2...done.
  Loaded symbols for /lib/libnss_compat.so.2
  Reading symbols from /lib/libnsl.so.1...done.
  Loaded symbols for /lib/libnsl.so.1
  Reading symbols from /lib/libnss_nis.so.2...done.
  Loaded symbols for /lib/libnss_nis.so.2
  0xb6f2599d in sigsuspend () from /lib/libc.so.6
  (gdb) bt
  #0  0xb6f2599d in sigsuspend () from /lib/libc.so.6
  #1  0xb72a7ece in ThreadPThread__sigsuspend () at
  ../src/thread/PTHREAD/ThreadPThreadC.c:141
  #2  0xb72a6d56 in ThreadPThread__SignalHandler (M3_DLS2Hj_sig=64,
  M3_AJWxb1_info=0xbfffc6f0, M3_AJWxb1_context=0xbfffc770)
     at ../src/thread/PTHREAD/ThreadPThread.m3:1205
  #3  <signal handler called>
  #4  0xb70438f0 in pthread_cond_wait@@GLIBC_2.3.2 () from
  /lib/libpthread.so.0
  #5  0xb72a84d6 in ThreadPThread__pthread_cond_wait (cond=0x80ac0c8,
  mutex=0x80ac0a8) at ../src/thread/PTHREAD/ThreadPThreadC.c:507
  #6  0xb72a29a9 in ThreadPThread__XWait (M3_DMxDjQ_self=0x80ac018,
  M3_AYIbX3_m=0xb6e84bc4, M3_Bl0jv4_c=0xb6e84bdc,
     M3_AicXUJ_alertable=1 '\001') at
  ../src/thread/PTHREAD/ThreadPThread.m3:183
  #7  0xb72a2a71 in Thread__AlertWait (M3_AYIbX3_m=0xb6e84bc4,
  M3_Bl0jv4_c=0xb6e84bdc) at ../src/thread/PTHREAD/ThreadPThread.m3:196
  #8  0xb7cdd671 in Reaper__AlertJoinNext (M3_Cjq8Fl_reaper=0xb6e84bc4,
  M3_DTZVTc_thr=0xbfffcf50, M3_EKuYlT_ret=0xbfffcf54)
     at ../src/Reaper.m3:111
  #9  0x08079323 in FSClient__Apply (M3_EVLLAD_self=0xb6eb5ab8) at
  ../src/FSClient.m3:201
  #10 0x08091e26 in Main_M3 (M3_AcxOUs_mode=1) at ../src/Main.m3:398
  #11 0xb7292ccb in RTLinker__RunMainBody (M3_DjPxE3_m=0x80a6d40) at
  ../src/runtime/common/RTLinker.m3:406
  #12 0xb7291ffe in RTLinker__AddUnitI (M3_DjPxE3_m=0x80a6d40) at
  ../src/runtime/common/RTLinker.m3:113
  #13 0xb729208c in RTLinker__AddUnit (M3_DjPxE5_b=0x808d275) at
  ../src/runtime/common/RTLinker.m3:122
  #14 0x0804e9ce in main (argc=6, argv=0xbfffd914, envp=0xbfffd930) at
  _m3main.mc:4
  (gdb)

  2 or 3 thoughts:

  o Did you turn off the GUI (I think -g)?
  Yes.
  o Did you increase the debugging level (-L 2?)?
  Yes.
  o Have you tried an old binary e.g. from our DCVS packages?
  Not yet. I'll try that next.

  [update: yes, it works, needs libc6-i386 of course]

  I upgraded my vServer and installed a 64-bit Ubuntu with cm3 from AMD_64
  sources, but
  encountered the same stall. I thought perhaps this might have to do with
  the modified
  kernel or ulimits on the vServer, but as it turns out, cvsup on birch also
  hangs, as well
  as on willow (Ubuntu i386).

-- 
Ticket URL: <http://projects.elego.de/cm3/ticket/1148>
CM3 <http://projects.elego.de/cm3>
Critical Mass Modula3 Compiler


----- End forwarded message -----


-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list