2011-07-14 28 views
7

Nếu tôi tải lại ứng dụng của tôi (từ trình duyệt với nút tải lại) một rất nhiều lần như 50 reload/10 seconds nó mang lại cho tôi lỗi này:Node.js: EBADF, file descriptor Bad

events.js:45 
    throw arguments[1]; // Unhandled 'error' event 
       ^
Error: EBADF, Bad file descriptor 

Điều này có vẻ với tôi như một lỗi băng thông hoặc một cái gì đó như thế, ban đầu tôi đã có lỗi khi tôi chơi với HTML 5 Audio API, và nếu tôi nạp các tập tin âm thanh 10-15 lần tuần tự sau đó tôi đã có lỗi, nhưng bây giờ tôi đã phát hiện ra rằng tôi nhận được lỗi mà không có API âm thanh quá chỉ bằng cách tải lại trang web rất nhiều lần, còn Safari mang lại cho tôi lỗi nhanh hơn nhiều so với Chrome (WTF?)

Tôi đang sử dụng Node.js 0.4.8 với express + jade và tôi cũng được kết nối với cơ sở dữ liệu MySQL với mô-đun db-mysql.

tôi không thể tìm thấy bất kỳ bài viết trên web về chủ đề này những gì giúp, vì vậy pleeease cho tôi biết những gì có thể gây ra lỗi này vì nó thực sự khó hiểu :(

Trả lời

3

Bằng cách "nạp lại ứng dụng của bạn" Bạn có nghĩa là làm mới trang chủ của ứng dụng của bạn từ trình duyệt hoặc thực sự dừng và khởi động lại quy trình máy chủ node.js? Tôi cho rằng trước đây, trong trường hợp đó nếu bạn không thể tái tạo một cách đáng tin cậy thì sẽ khá khó khăn để gỡ lỗi, đặc biệt là vì bạn không Tuy nhiên, nếu bạn sử dụng hook express.js app.error (docs here), bạn sẽ muốn ghi lại đường dẫn lỗi từ lỗi "Bad descriptor descriptor", điều này hy vọng sẽ giúp bạn biết được điều này là một tệp tạm thời bị xóa hoặc những gì. e, chúng tôi chỉ có thể đưa ra các dự đoán vì "Bộ mô tả tệp không hợp lệ" là một lỗi cấp thấp chung về cơ bản có nghĩa là bạn đang gọi một thao tác trên một bộ mô tả tệp không còn ở trạng thái đúng để xử lý thao tác đó (như đọc tệp đã đóng , mở một tập tin đã bị xóa, vv).

Các vấn đề liên quan