Şu anda bir portleti düzenlemenin bir kilitlenmeye neden olduğu bir Plone 4.3.8 sitesi var.Plone kilitlenme sorunlarını çözmenin modern yolu nedir?
Bunu düzeltmek için araçlar bulmaya çalışıyorum, ancak çoğu kilitlenme aracı çalışmıyor & En azından çalışmakta olanlardan iyi bilgi (IMO) alamıyorum.
denedim:
- z3c.deadlockdebugger => Bir stacktrace olamıyorum
- ZopeHealthWatcher =>
- Products.LongRequestLogger komut satırından (veya web sayfasında) sonuçları göremiyorum => belki de şimdiye kadarki en iyisi, bazı günlük çıktıları verir - ancak yığın izleri Diazo koduna odaklanır, ancak Diazo'nun kapsama girmediği durumlarda sorun hala ortaya çıkar (127.0.0.1'e karşı çalışır)
- gdb ek - sadece indi C kodunda
- winpdb => o
- Products.signalstack (OR Products.signalstacklogger) => USR1 sinyali sadece kapanıyor can gdb (sadece süreçlere winpdb tarafından eki niyetiyle başladı) aynı şekilde çalışan süreçleri için ekleyemezsiniz zope süreci!
Not: z3c.deadlockdebugger (ve buna bağlı şeyler) ihtiyaçlar threadframe bağımlılığını düşmesi source code kontrol etti.
Durumum, ürün yükseltmeleriyle bağlantılı görünüyor - muhtemelen biri ya da her ikisi de plone.app.contenttypes ya da plone.app.multilingual, boş bir sitenin bu sorunu yok, ama açıkçası benim site verilerine ihtiyacım var !
Bunu geliştirmek için ne yapmalıyım?
DÜZENLEME:
Ben Maurits en doğru biri olarak cevap inanıyoruz, ama benim durumumda işe yaramadı. Ne yaptım, kodun asılı olduğu noktayı izlemek için pdb kullanıyordu (plone.app.debugtoolbar içinde olduğu gibi)
Konu çerçevesi bağımlılığı hakkında: Bu uzun bir süre önce kullanımdan kaldırılmıştır, ancak bunu, 'yumurta' bölümüne ekleyerek bu geniş kapsamlı uygulamanıza eklemeyi de seçebilirsiniz. Pypi'de yayınlanmadığı için, ek bir 'find-links '(' https: // majid.info/python/threadframe/') ve' allow-hosts' 'de eklemelisiniz. –
@keul majid'in sitesi [threadframe'deki makale] (https://majid.info/blog/threadframe-multithreaded-stack-frame-extraction-for-python/) diyor ki: "Python 2.5 ve üstü bir işlev sys._current_frames () "Bu yüzden bu tavsiyeyi – Danimal
kabul ediyorum, doğru, fakat kaynak kodunu değiştirmek istemiyorsanız, yine de (artık kullanımdan kaldırılmış ve yararsız) threadframe kullanabilirsiniz. –