-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
i'm running supervisord==3.3.1(non-daemon args: -n) under pypy2 5.4.1 .
after a moment, supervisor crashed, the log show "Bad file descripter", @mnaberez @mcdonc
os: CentOS release 6.7 (Final)
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
supervisord non-daemon log:
Traceback (most recent call last):
File "/opt/test/pypy2/bin/supervisord", line 11, in
sys.exit(main())
File "/opt/test/pypy2/site-packages/supervisor/supervisord.py", line 365, in main
go(options)
File "/opt/test/pypy2/site-packages/supervisor/supervisord.py", line 375, in go
d.main()
File "/opt/test/pypy2/site-packages/supervisor/supervisord.py", line 84, in main
self.run()
File "/opt/test/pypy2/site-packages/supervisor/supervisord.py", line 101, in run
self.runforever()
File "/opt/test/pypy2/site-packages/supervisor/supervisord.py", line 234, in runforever
combined_map[fd].handle_error()
File "/opt/test/pypy2/site-packages/supervisor/dispatchers.py", line 50, in handle_error
tbinfo
File "/opt/test/pypy2/site-packages/supervisor/loggers.py", line 287, in critical
self.log(LevelsByName.CRIT, msg, **kw)
File "/opt/test/pypy2/site-packages/supervisor/loggers.py", line 293, in log
handler.emit(record)
File "/opt/test/pypy2/site-packages/supervisor/loggers.py", line 186, in emit
self.doRollover()
File "/opt/test/pypy2/site-packages/supervisor/loggers.py", line 211, in doRollover
if not (self.stream.tell() >= self.maxBytes):
IOError: [Errno 9] Bad file descriptor: '/opt/test/var/log/supervisord.log'
strace:
303 log file i checked, it's ok
close(282) = 0
close(285) = 0
close(291) = 0
close(292) = 0
close(303) = -1 EBADF (Bad file descriptor)
write(2, "Exception IOError: IOError(9, 'B"..., 195) = 195
close(304) = -1 EBADF (Bad file descriptor)
write(2, "Exception IOError: IOError(9, 'B"..., 195) = 195
close(308) = -1 EBADF (Bad file descriptor)
write(2, "Exception IOError: IOError(9, 'B"..., 195) = 195
close(309) = -1 EBADF (Bad file descriptor)
write(2, "Exception IOError: IOError(9, 'B"..., 195) = 195
close(313) = -1 EBADF (Bad file descriptor)
ulimit:
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 386815
max locked memory (kbytes, -l) 3500000
max memory size (kbytes, -m) unlimited
open files (-n) 1000000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 131072
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited