2010-01-19 6 views
8

Tôi đã cố gắng lấy các nguồn cho bản phát hành Android 1.6, nhưng thao tác đồng bộ hóa không bị treo.Đồng bộ hóa lại bị treo

Tôi dán phần cuối của thông điệp tôi nhận được vào nhà ga ở đây:

Fetching projects: 19% (32/164) 
Initializing project platform/external/freetype ... 
remote: Counting objects: 970, done. 
remote: Compressing objects: 100% (414/414), done. 
Receiving objects: 57% (558/970), 1.28 MiB | 26 KiB/s 

Nó chỉ bị treo ở đó ... không có thông báo lỗi hoặc aything thuộc loại đó.

Có ai phải đối mặt với vấn đề tương tự không?

+1

Tôi đang trải nghiệm điều này trên máy Ubuntu 12 LTS x86 của mình. Nó dường như luôn xuất hiện trên một vật thể duy nhất, khi 'git' sinh ra và tối đa CPU. Tôi đã thử vô hiệu hóa việc mở rộng quy mô cửa sổ TCP và hạn chế thành một chuỗi, nhưng không có con xúc xắc. –

Trả lời

0

Có sự cố tương tự back in September on SO.

Tốc độ mạng có thể liên quan hoặc được liên kết với phiên bản Git chính xác mà bạn đang sử dụng.
Nếu đó là msysgit, vui lòng cập nhật lên phiên bản mới nhất.
Xem thêm msysgit issue 361

11

Tôi tự hỏi nếu bạn đang sử dụng VMWare để chạy Linux. Tôi đã gặp vấn đề tương tự như bạn cho đến khi tôi đã tìm thấy những gì đã gây ra nó: kích thước cửa sổ tcp ở phía chúng tôi được đặt thành 0 (đầy đủ). Tôi đang chạy Ubuntu 10.04 trên VMWare trên Windows 7 64-bit như máy chủ. Để khắc phục nó, hãy đảm bảo bạn cung cấp nhiều RAM cho Ubuntu trên VMWare để loại bỏ mọi vấn đề về bộ nhớ. Tôi đã thiết lập của tôi để 512MB và tăng nó lên 1.5M cho hiệu suất tốt hơn. Sau đó, các thiết lập quan trọng nhất (và một trong đó đã làm các trick thực sự): chắc chắn rằng bạn thiết lập bộ điều hợp mạng trên VMWare để chế độ cầu nối. Ví dụ, nếu sử dụng NAT, dịch vụ NAT sẽ làm tắc nghẽn và làm xáo trộn kích thước cửa sổ cho bạn.

Nguyên nhân: Kích thước cửa sổ TCP của khách hàng cho máy chủ biết số byte mà nó sẵn sàng nhận cùng một lúc từ máy chủ; đây là cửa sổ nhận của khách hàng. Khi cửa sổ được đặt thành 0, điều đó có nghĩa là máy khách sẽ không thể nhận thêm bất kỳ dữ liệu nào cho đến khi xử lý bất kỳ dữ liệu nào vẫn đang chờ xử lý trong bộ đệm bên trong của nó. Đây là công cụ TCP bình thường. Hiệu ứng kích thước của cửa sổ được đặt thành 0 trên máy khách là kết nối TCP sẽ vẫn còn hoạt động trong một thời gian cho đến khi máy chủ quyết định rằng anh ta đã chờ đủ và ngắt kết nối. Đây là những gì đã gây ra đồng bộ hóa repo của tôi để treo mà không có lỗi.

+1

Cảm ơn, điều đó đã làm việc cho tôi. Kết nối cầu nối đã khắc phục được sự cố. – inazaruk

+0

Tôi đang sử dụng VirtualBox tuy nhiên sau khi chuyển sang kết nối cầu nối, tôi vẫn gặp phải vấn đề tương tự. – Joset

+0

Để thêm một số hiệu lực hơn cho câu trả lời này, tài liệu này hiện được tài liệu hóa bởi android: http://source.android.com/source/known-issues.html – gsingh2011

5

Hy vọng điều này sẽ giúp ai đó giới thiệu diễn đàn này.

Tôi đã gặp phải vấn đề này về việc nhái git của các kho lưu trữ lớn treo. Ban đầu tốc độ sẽ cao và sau đó giảm xuống đáng kể và cuối cùng nó bị treo. Đó là một vấn đề với TCP Window Scaling. Một khi đã bị vô hiệu hóa, nó đã hoạt động tốt.

(Nhưng phần lạ là khi tôi chạy nó từ Linux trong VMWare, không có vấn đề.)

Để vô hiệu hóa này cho phiên hiện tại $ sudo sysctl -w net.ipv4.tcp_window_scaling = 0

+2

Để thêm một số giá trị hơn cho câu trả lời này, tài liệu này hiện được tài liệu hóa bởi android : source.android.com/source/known-issues.html – gsingh2011

+0

Điều này đã khắc phục sự cố cho tôi, cảm ơn. Bằng cách nào đó khi tôi nhìn vào trang vấn đề đã biết, tôi không thấy thông báo ở đây.Thật lạ lùng khi repo không có khả năng phục hồi từ một đồng bộ không thành công. – BHS