Broken on big-endian architectures
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- cpp
- Lĩnh vực
- operating-systems, testing
Hướng nghiên cứu
Bắt đầu với File transversal đang bị lỗi, tìm các khối GCode và các bài kiểm thử chuyển đổi binary/ascii, sau đó kiểm tra việc đọc các tệp dữ liệu trong src/LibBGCode/core/core.cpp, bao gồm FileHeader::read. Tái hiện các lỗi trên một kiến trúc big-endian, sử dụng các build log Debian được liên kết làm ngữ cảnh. Hoàn thành khi các bài kiểm thử được liệt kê đều vượt qua trên các hệ thống big-endian mà không vô hiệu hóa package.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The following tests fail in big-endian architectures:
The following tests FAILED:
1 - File transversal (Failed)
2 - Search for GCode blocks (Failed)
3 - Convert from binary to ascii (Failed)
4 - Convert from ascii to binary (Failed)
Downstream bug report in Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1062014
Some debugging reveals that this error happens due to mismatched endianness when reading data files.
diff --git a/src/LibBGCode/core/core.cpp b/src/LibBGCode/core/core.cpp @@ -126,8 +127,10 @@ EResult FileHeader::read(FILE& file, const uint32_t* const max_version) { if (!read_from_file(file, &magic, sizeof(magic))) return EResult::ReadError; + printf("data=0x%08x MAGIC=0x%08x\n", magic, MAGICi32); if (magic != MAGICi32) return EResult::InvalidMagicNumber; -> File:/build/libbgcode/tests/data/mini_cube_b.bgcode data=0x47434445 MAGIC=0x45444347It's likely that there are many more similar problems lurking in the source code.
If this issue can't be fixed, the package should probably be disabled on big endian architectures.
Sample build logs:
- Ngôn ngữ chính
- G-code
- Star
- 73
- Fork
- 23
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của prusa3d/libbgcode
-
Extending bgcodeĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
PyPI releaseCó thể làm lại được @tomasbedrich đã nhận 1007 ngày trước và không có pull request nào đang mở. Đang mở
-
Required packages zlib-dev & gitĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
-
Digital signature on codeĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
Tất cả issue của prusa3d/libbgcode
Issue tương tự
-
runit stage 1 skips /etc/runit/core-services (files are not executable), so sysctl is never appliedĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
-
bug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
CachyOS/linux-cachyos#1091 · 1 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
luainkernel/lunatik#2018 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Mark ignored Mac OS partitions RecoveryOSContainer and iBootSystemContainerCó thể đã có người làm @meven đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
storaged-project/udisks#1559 ·