recent 5.4-PRE regression: Could not resync/reset buffers

Shaun Jurrens shaun at shamz.net
Sat Apr 2 15:40:16 PST 2005


On Fri, Apr 01, 2005 at 07:06:30PM -0800, Doug White wrote:
#> On Fri, 1 Apr 2005, Shaun Jurrens wrote:
#> 
#> > Hi guys,
#> >
#> > I'm resending this mail again with the hopes of finding someone who is also
#> > seeing this problem.  I know that mail isn't the best method perhaps, but
#> > before I open a PR, I thought I'd try again...
#> >
#> > My last recent update revealed a bug perhaps. I'm now running:
#> >
#> > FreeBSD dakota 5.4-PRERELEASE FreeBSD 5.4-PRERELEASE #28: Wed Mar 23
#> > 20:38:58 CET 2005     root at dakota:/usr/obj/usr/src/sys/DAKOTA64  amd64
#> >
#> > The system seems to have problems with filedescriptors.  It's not otherwise
#> > loaded and it's happed enough that I thought I should mention it before 5.4
#> > goes out the door (around 50% of the time).
#> >
#> > How to repeat: mpg123 -b 1024 --list playlist   (where playlist is a simple
#> > list of .mp3 files)
#> >
#> > I get this error message:
#> > Could not resync/reset buffers: Interrupted system call
#> >
#> > and the program simply hangs using 90%+ cpu
#> 
#> Try upgrading mpg123, for starters. Not handling ERESTART is generally a
#> bug.  That said, I wonder if some syscall that was uninterrupible before
#> is now not.  Can you ktrace mpg123 and try to capture one of the ERESTART
#> returns?

	I've recompiled mpg123 but cannot repoduce the hang if I start the
program with the same arguments via ktrace (and if I start ktrace after the
fact, I just get what I posted in the last mail).  It seems to happen about
100% of the time now.  I just upgraded world as well:

FreeBSD dakota 5.4-PRERELEASE FreeBSD 5.4-PRERELEASE #29: Fri Apr  1
23:55:02 CEST 2005     root at dakota:/usr/obj/usr/src/sys/DAKOTA64  amd64

The trace doesn't look too wierd, otherwise.  There was a warning about
having libm.so.2 and libm.so.3 causing a potential conflict during
compile... It seems to find the correct lib, but later also opens libm.so.2

After we get all the libs loaded (or not, not using esd and friends)

An excerpt of the ktrace:

 3107 mpg123   CALL  write(0x3,0x7fffffffe2a0,0x80)
  3107 mpg123   GIO   fd 3 wrote 128 bytes

"mpg123\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\

\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\

\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
        \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  3107 mpg123   RET   write 128/0x80
  3107 mpg123   CALL  setsockopt(0x3,0xffff,0x1001,0x7fffffffe27c,0x4)
  3107 mpg123   RET   setsockopt 0
  3107 mpg123   CALL  setsockopt(0x3,0xffff,0x1002,0x7fffffffe27c,0x4)
  3107 mpg123   RET   setsockopt 0
  3107 mpg123   CALL  sigaction(0xd,0x7fffffffe250,0x7fffffffe230)
  3107 mpg123   RET   sigaction 0
  3107 mpg123   CALL  close(0x3)
  3107 mpg123   RET   close 0
  3107 mpg123   CALL  sigaction(0x2,0x7fffffffe3f0,0x7fffffffe3d0)
  3107 mpg123   RET   sigaction 0
  3107 mpg123   CALL  open(0x7fffffffe827,0,0x7fffffffe827)
  3107 mpg123   NAMI  "11_Wishlist.mp3"
  3107 mpg123   RET   open 3
  3107 mpg123   CALL  lseek(0x3,0,0,0x2)
  3107 mpg123   RET   lseek 4943025/0x4b6cb1
  3107 mpg123   CALL  lseek(0x3,0,0xffffffffffffff80,0x2)
  3107 mpg123   RET   lseek 4942897/0x4b6c31
  3107 mpg123   CALL  read(0x3,0x7fffffffe350,0x80)
  3107 mpg123   GIO   fd 3 read 128 bytes
       0x0000 5441 4757 6973 686c 6973 7400 0000 0000  |TAGWishlist.....|
       0x0010 0000 0000 0000 0000 0000 0000 0000 0000  |................|
       0x0020 0050 6561 726c 204a 616d 0000 0000 0000  |.Pearl Jam......|
       0x0030 0000 0000 0000 0000 0000 0000 0000 0052  |...............R|
       0x0040 6561 7276 6965 776d 6972 726f 7220 2867  |earviewmirror (g|
       0x0050 7265 6174 6573 7420 6869 7473 2032 3030  |reatest hits 200|
       0x0060 3465 7820 4772 6970 2076 6961 2063 6464  |4ex Grip via cdd|
       0x0070 6132 7761 7620 616e 6420 6c61 6d65 0b11  |a2wav and lame..|
  3107 mpg123   RET   read 128/0x80
  3107 mpg123   CALL  lseek(0x3,0,0,0)
  3107 mpg123   RET   lseek 0
  3107 mpg123   CALL  mmap(0,0x4b6c31,0x1,0x1,0x3,0,0)
  3107 mpg123   RET   mmap 13312000/0x800cb2000
  3107 mpg123   CALL  write(0x2,0x7fffffffdba0,0x3b)
  3107 mpg123   GIO   fd 2 wrote 59 bytes
       "Title  : Wishlist                        Artist: Pearl Jam
       "
  3107 mpg123   RET   write 59/0x3b
  3107 mpg123   CALL  write(0x2,0x7fffffffdba0,0x36)
  3107 mpg123   GIO   fd 2 wrote 54 bytes
       "Album  : Rearviewmirror (greatest hits   Year  : 2004
       "
  3107 mpg123   RET   write 54/0x36
  3107 mpg123   CALL  write(0x2,0x7fffffffdba0,0x36)
  3107 mpg123   GIO   fd 2 wrote 54 bytes
       0x0000 436f 6d6d 656e 743a 2065 7820 4772 6970  |Comment: ex Grip|
       0x0010 2076 6961 2063 6464 6132 7761 7620 616e  | via cdda2wav an|
       0x0020 6420 6c61 6d65 0b20 2047 656e 7265 203a  |d lame.  Genre :|
       0x0030 2052 6f63 6b0a                           | Rock.|

  3107 mpg123   RET   write 54/0x36
  3107 mpg123   CALL  write(0x2,0x7fffffffdc90,0x2e)
  3107 mpg123   GIO   fd 2 wrote 46 bytes
       "
        Playing MPEG stream from 11_Wishlist.mp3 ...
       "
  3107 mpg123   RET   write 46/0x2e
  3107 mpg123   CALL  gettimeofday(0x7fffffffe570,0)
  3107 mpg123   RET   gettimeofday 0
  3107 mpg123   CALL  write(0x2,0x7fffffffdc40,0x36)
  3107 mpg123   GIO   fd 2 wrote 54 bytes
       "MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
       "
  3107 mpg123   RET   write 54/0x36
  3107 mpg123   CALL  mmap(0,0xffa40,0x3,0x1001,0xffffffff,0,0)
  3107 mpg123   RET   mmap 18255872/0x801169000
  3107 mpg123   CALL  socketpair(0x1,0x1,0,0x801169008)
  3107 mpg123   RET   socketpair 0
  3107 mpg123   CALL  sigprocmask(0x1,0x7fffffffe3c0,0x7fffffffe3b0)
  3107 mpg123   RET   sigprocmask 0
  3107 mpg123   CALL  sigaction(0x14,0x7fffffffe370,0x7fffffffe350)
  3107 mpg123   RET   sigaction 0
  3107 mpg123   CALL  fork
  3107 mpg123   RET   fork 3110/0xc26
  3107 mpg123   CALL  close(0x5)
  3107 mpg123   RET   close 0
  3107 mpg123   CALL  kill(0xc26,0x1e)
  3107 mpg123   RET   kill 0
  3107 mpg123   CALL  write(0x4,0x7fffffffe3a7,0x1)
  3107 mpg123   GIO   fd 4 wrote 1 byte
       0x0000 02                                       |.|

and so, we start playing music...

I have no clue if this helps at all.  It seems like if I start some other
job, like building world, this doesn't happen.  It's wierd and I've heard
of the problem from at least one other guy on ircnet, but it might just be
pilot error here, somehow...

Thanks for your time in any case.

#> 
#> -- 
#> Doug White                    |  FreeBSD: The Power to Serve
#> dwhite at gumbysoft.com          |  www.FreeBSD.org

-- 
Yours truly,

Shaun D. Jurrens
shaun at shamz.net





More information about the freebsd-stable mailing list