Opened 10 years ago

Closed 8 years ago

#746 closed defect (fixed)

upgrade-master with missing state.sqlite file hangs forever

Reported by: catlee Owned by:
Priority: major Milestone: 0.8.0
Version: 0.8.0 Keywords:
Cc:

Description

To reproduce,

rm master/state.sqlite

buildbot upgrade-master master

Change History (9)

comment:1 Changed 10 years ago by catlee

  • Milestone changed from undecided to 0.8.0
  • Type changed from undecided to defect
  • Version changed from 0.7.12 to 0.8.0

comment:2 Changed 10 years ago by dustin

(sand26)dustin@euclid ~/code/buildbot/t/buildbot/sandbox/master [master] $ rm state.sqlite 
(sand26)dustin@euclid ~/code/buildbot/t/buildbot/sandbox/master [master] $ buildbot upgrade-master .
/home/dustin/code/buildbot/t/buildbot/sand26/lib/python2.6/site-packages/Twisted-9.0.0-py2.6-linux-x86_64.egg/twisted/mail/smtp.py:10: DeprecationWarning: the MimeWriter module is deprecated; use the email package instead
  import MimeWriter, tempfile, rfc822
upgrade complete

When you interrupt it, what's the traceback look like?

comment:3 Changed 10 years ago by catlee

I can't interrupt it with C, I have to background it and then kill it.

comment:4 Changed 10 years ago by dustin

What about an strace? What is it up to? If it's un-interruptible, then I suspect it's doing something in sqlite.

If the changes pickle still exists, it may be trying to unpickle and upgrade it..

comment:5 Changed 10 years ago by catlee

  • Resolution set to worksforme
  • Status changed from new to closed

I can't reproduce this any more. Chalk it up to a busted local setup for now?

comment:6 Changed 9 years ago by chrb

read(6, "", 4096) = 0 close(6) = 0 munmap(0x7fcad31cb000, 4096) = 0 close(5) = 0 close(4) = 0 munmap(0x7fcad31cc000, 4096) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcad31cc000 write(1, "upgrade complete ", 17upgrade complete ) = 17 close(3) = 0 futex(0x1bce2f0, FUTEX_WAIT_PRIVATE, 0, NULL

comment:7 Changed 9 years ago by chrb

read(6, "python2.6/jinja2/ext.pyt
filt"..., 16384) = 16384
read(6, "17R R34R=R>R214R220"..., 4096) = 230
read(6, "", 4096)                       = 0
close(6)                                = 0
munmap(0x7fcad31cb000, 4096)            = 0
close(5)                                = 0
close(4)                                = 0
munmap(0x7fcad31cc000, 4096)            = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcad31cc000
write(1, "upgrade complete
", 17upgrade complete
)      = 17
close(3)                                = 0
futex(0x1bce2f0, FUTEX_WAIT_PRIVATE, 0, NULL^C <unfinished ...>

comment:8 Changed 9 years ago by dustin

  • Resolution worksforme deleted
  • Status changed from closed to reopened

I can't reproduce, either. I'm using Py26 with the latest Twisted (10.0.0), pysqlite 2.4.1, and sqlite 2.8.16.

It's a thread-related hang, so it's either Twisted's thread pool or a locking error in sqlite.

Reopening now, since chrb has also seen it.

comment:9 Changed 8 years ago by dustin

  • Resolution set to fixed
  • Status changed from reopened to closed

This may be related to the weird threads-and-locks behavior we've been seeing on *BSD platforms, e.g., #2055.

I'll close for now since there's been no further reproduction.

Note: See TracTickets for help on using tickets.