Windows krom tarayıcı yeni derleme yığını ve çalışma zamanında anonim önemli hatalar oluşturuyor


1

Son zamanlarda, krom tarayıcı projesini anlamak için zaman ve çaba sarf etmeye başladım. Amacım sonunda bir geliştirici olarak katkıda bulunabilmektir, bu yüzden nasıl elde edip yerel olarak inşa edebileceğimi araştırdım. Çalıştırırken bazı sorunlarla karşılaşıyorum ve henüz bir açıklama bulamıyorum.

Umarım aynı durumda olan diğer insanlara yardımcı olacaktır. Forumlara biraz baktıktan sonra, benzer bir şey bulamadım ve bu benim özlediğim bir şey olup olmadığını bilmek istiyorum.

Krom tarayıcıyı Windows 10 Home Edition'da çalıştırmaya çalışıyorum. Mevcut yapılandırmam i5-2500k / 8 gb DDR3 ve çalışma alanım daha büyük bir SSD elde edene kadar bir sabit sürücüde (Önerilen özellikler, daha iyi oluşturulmasına ve çalışmasına izin vermek için 16-32 GB RAM ve SSD olduğunu gösteriyor.) sorunun bir parçası olmak?).

Mevcut krom derlemem: Sürüm 54.0.2808.0 (64-bit)

Projeyi almak ve inşa etmek için, kodun nasıl alınacağına ilişkin talimatları takip ettim.

Yaptığım şey:

  • Depo araçlarının Windows versiyonunu çalışma alanıma aldım
  • İle depoları getirilen fetch chromiumvegclient runhooks
  • İle oluşturulmuş cd src, gn gen out/Defaultveninja -C out/Debug

Derleme işlemi işini yapar ve konsolda hiçbir hata görünmüyor. Ancak, tarayıcıyı başlattığımda, yığma iziyle ilgili gibi görünen birden fazla hata alıyorum. Bu hatalar kalıcı değildir ve hiçbirini kapatmadığım sürece, krom yanıt vermeye devam eder ve sayfalar beklendiği gibi gösterilir, bu yüzden şu an için önemli değil:

StackTrace hataları

Ancak, eğer ağır bir yükleme yaparsam (örneğin: facebook haber beslemesini yüklerken), bu noktadan asılıyor ve çok iyi yanıt vermiyor gibi görünüyor (örneğin: sonsuz yükleme, sekme içinde çalışmayan fare olayları). Ayrıca, https://www.google.com.tr adresine giderek ve sayfanın herhangi bir yerine sağ tıklayarak da benim tarafımdan kopyalanabilir .

İşleri biraz hızlandırmayı denemek için her pdb dosyasını yeniden adlandırmak üzere bir komut dosyası çalıştırdım, böylece işleme eklenmezler. Bu, hızı oldukça artırıyor, ancak hala hatalar var. StackTrace hataları şöyle olur: PDB yokken yapılan hatalar

Asılma konusuna gelince, şimdi bir hataya işaret eden boş bir modal kutusu gösterecektir (açıklama ne olduğu hakkında çok nazik değildir). Bu modal ve bir kez kapandığında, krom amaçlanan gibi çalışmayı durdurur. Olan şey, farelerin üzerinden geçen olaylar görünmüyor ve sayfa yeniden yüklenirken hiçbir zaman yüklenmeyecek. Boş hata

En son sürümün bazen dengesiz olabileceğinin farkındayım, ancak üzerinde çalışmayı zevkli bir proje haline getirmek için çalışıyorum. Burada yanlış yaptığım bir şey var mı yoksa kaçırmış olabileceğim adımlar var mı? Burada benzer problemleri çözen insanlar var mı?

Çok teşekkürler, herhangi bir yardım büyük beğeni topluyor!

Frederik

Güncelleme - 2016/07/28:

Kodun içine bakarken, ilk hatanın, ::FreeLibrary (in module_list.cc)HMODULE'ı doğru şekilde serbest bırakamamaktan kaynaklandığını gördüm . Buraya kod koyduğum için üzgünüm, bu yardımcı olabilirse, buraya izin vermeyi tercih ederim.

Güncel soruşturma: on çare yeni bir sürümünü kurmak ::UnMapViewOfFilezaman ::FreeLibraryilk hatalar ulaşırsa görmek için başarısız olur.

İkinci hata için, neler olup bittiği hakkında hala hiçbir fikrim yok. Daha fazla potansiyel ayrıntı bulmayı umarak soruşturmaya devam edecek.

Lütfen sorunların çözülmesine yardımcı olabilecek herhangi bir bilgi sormaktan çekinmeyin.

Güncelleme 2 - 2016/07/28:

Yığın olabilirse, StackOverflow hakkında farklı, daha programlama odaklı bir soru sordum: Chromium tarayıcısı module_list.cc dosyasında önemli hatalar oluşturuyor: Kontrol Başarısız Oldu

Güncelleme 3 - 2016/07/29

Sonunda çalışan bir şey var! Bu, args.gn dosyasındaki bu yapılandırmalarla derlemeyi yapılandırmak:

> gn args out/Default

is_debug = false
enable_nacl = false
symbol_level = 0
remove_webcore_debug_symbols = true

Bu yapılandırma hata ayıklama için uygun değildir, ancak çalışan bir yapılandırmaya sahip olmak ileriye yönelik büyük bir adımdır. Şimdi süper mutlu !! Mevcut hipotezim, hata ayıklama bayrağıyla bir şeyler yapması gerektiği yönünde olurdu. Dahili işlev çağrıları hata ayıklama modunda doğru modül adlarına erişmekte sorun yaşıyor olabilir mi?

Güncelleme 4 - 2016/08/13

Yeni bir hata ayıklama derlemesinden sonra, birkaç Windows Kit hata ayıklayıcısının DLL dosyasının derleme dizinine kopyalanmadığını fark ettim. Bu sefer, bağlantı işlemi başarısız oldu api-ms-win-crt-math-l1-1-0.dll. Daha sonra tüm sorunları çözeceğini umarak hepsini kopyaladım. İlk çalıştırmada hatalar görünmüyordu, ancak aynı davranış Google Ana Sayfasını sağ tıklattığımda da gerçekleşti (tarama mekaniği sessizce kırıldı). Kapattıktan ve yeniden açtıktan sonra aynı hatalar geri döndü.

Bu sorunları çözmek için bir fikir olarak herkes veya herhangi bir farklı prosedürler, sonra krom projesinde olanlar?


Yığın izlerinin yalnızca görüntü olarak gösterilmesi yararsızdır. En azından Pastebin'e bir soru sorabilir misiniz, eğer soruya satır içi metin olarak dahil etmekten çekinmiyorsanız?
üçlü,

@tripleee Gelecek hafta hataları etkili bir şekilde kopyalayabilmek / yapıştırmak için hataları almak ya da gidermek için elimden geleni yapacağım.
Frederik.L

Yanıtlar:


3

Sizden Windows'unuzu , ortamınızı Visual Studio ortamını ayarlamanızı ve derleyici araç zincirini doğru bir şekilde almanızı rica ediyorum . Lütfen aşağıdaki bağlantıdaki adımları izleyin ve güncellemeler dahil en son sürümle her şeyi deneyin. Lütfen bağlantıyı burada bulun: Windows Build Instruction

Başvuru için, burada inşa Krom anlık bulabilirsiniz: Krom Kareler

Size biraz yardımcı olursa haberim olsun. Teşekkür ederim.


Konfigürasyonları iki kere kontrol ettim. Farklı olduğum tek şey, aslında Güncelleme 2 yerine Visual Studio 2015 Güncelleştirmesi 3'e sahip olduğum. Bu başlangıçtan itibaren kötü ve değer düşüren VS ve bina kromu olabilir mi? Her şeyi yeniden kurmak biraz zaman alıyor, bu yüzden akıllıca tahminler almaya çalışıyorum :) Anlık görüntülere gelince, en son 408050 ile test edebildim ve hatalar olmadan çalıştırabildim. kendi yapım. Bu yüzden muhtemelen benim suçum.
Frederik.L

Evet, baştan tekrar başlamanın acısını anlayabiliyorum. Ancak mevcut yapılandırmanızın da düzgün şekilde çalışmadığını anlamanız gerekir. Öyleyse neden her şeyi denemiyorsun? Kim bilir bu sefer başlangıçta değecek kadar ilginç bir şey bulabilirsin?
Animesh Patra

VS 2015 Güncelleme 2'ye geri döneceğim ve yardım edip etmediğini ve iş bittiğinde biraz geri bildirim vereceğini görmek için gece boyunca temiz bir yapı oluşturacağım. Tavsiyeleriniz için teşekkürler, bu bana çok yardımcı oluyor! Her yeni baştan başladığımda gerçekten faydalı konfigürasyonlar buluyorum. Umarım, adımlar bir Node.js iskeletine projeyi sardığımdan beri artık daha güvenli.
Frederik.L

Nazik sözlerin için teşekkür ederim. Umarım bu sefer başarılı olursun. İyi şanslar.
Animesh Patra

1
Hey, bir şeyler çalışıyor! (son güncellememe bakın). Geriye kalan tek şey neden bunun serbest bırakma modunda çalıştığını, ancak hata ayıklama modunda başarısız olduğunu bulmak. Çok yaklaşıyoruz! Gelecek pazartesiden (2016-07-30) itibaren test etmeye devam edeceğim çünkü yarın ve bilgisayardan o zamana kadar bir sınavım var. Yine de, derleme yapılandırmamın ne olduğu ile ilgili soruları cevaplayacağım.
Frederik.L
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.