Hướng dẫn segmentation fault (core dumped) python - lỗi phân đoạn (đổ lõi) python

"Segmentation fault (core dumped)" là chuỗi mà Linux in khi một chương trình thoát với tín hiệu SIGSEGV và bạn đã bật tạo lõi. Điều này có nghĩa là một số chương trình đã bị sập.

Nếu bạn thực sự nhận được lỗi này từ việc chạy Python, điều này có nghĩa là thông dịch viên Python đã bị sập. Chỉ có một vài lý do điều này có thể xảy ra:

  1. Bạn đang sử dụng mô-đun mở rộng của bên thứ ba được viết trong C và mô-đun mở rộng đó đã bị sập.

  2. Bạn (trực tiếp hoặc gián tiếp) bằng cách sử dụng mô-đun tích hợp ctypes và gọi mã bên ngoài bị sập.

  3. Có điều gì đó không ổn với cài đặt Python của bạn.

  4. Bạn đã phát hiện ra một lỗi trong Python mà bạn nên báo cáo.

Đầu tiên là phổ biến nhất. Nếu q của bạn là một thể hiện của một số đối tượng từ một số mô-đun mở rộng của bên thứ ba, bạn có thể muốn xem tài liệu.

Thông thường, khi các mô -đun C sụp đổ, đó là do bạn đang làm một cái gì đó không hợp lệ, hoặc ít nhất là không phổ biến và chưa được kiểm chứng. Nhưng liệu đó có phải là "lỗi" của bạn theo nghĩa đó hay không - điều đó không quan trọng. Mô -đun sẽ tăng một ngoại lệ Python mà bạn có thể gỡ lỗi, thay vì gặp sự cố. Vì vậy, có lẽ bạn nên báo cáo một lỗi cho bất cứ ai đã viết phần mở rộng. Nhưng trong khi đó, thay vì chờ đợi 6 tháng để lỗi được sửa và một phiên bản mới sẽ ra mắt, bạn cần tìm ra những gì bạn đã làm điều đó đã gây ra vụ tai nạn, và liệu có cách nào khác để làm những gì bạn muốn. Hoặc chuyển sang một thư viện khác.

Mặt khác, vì bạn đang đọc và in dữ liệu từ một nơi khác, có thể trình thông dịch Python của bạn chỉ cần đọc dòng "Segmentation fault (core dumped)" và in một cách trung thực những gì nó đọc. Trong trường hợp đó, một số chương trình khác có lẽ đã bị sập. .

Nếu bạn không chắc đó là trường hợp nào (và không muốn học cách quản lý quy trình, kiểm tra tệp cốt lõi hoặc gỡ lỗi cấp độ C ________số 8. Nếu bạn thấy rằng sau dòng Segmentation fault, thì Python đã không gặp sự cố, người khác đã làm. Nếu bạn không nhìn thấy nó, thì có lẽ đó là Python bị sập.

Kết quả hàng đầu từ trên web

Lỗi phân đoạn (lõi đổ) Python - Stack Overflow

Tôi đã tìm thấy lỗi xảy ra khi đạt được dòng RET, frame = cap.read (). Nhập Numpy khi nhập NP CV2 CAP = CV2.Videocapture ('/home/sunjia/& nbsp; ......

Đọc thêm>

Nhập CV2 gây ra lỗi phân đoạn (kết xuất lõi) '

Tôi đang sử dụng JetPack 4.5.1 và CV2 được xây dựng (không có QT5) bằng cách sử dụng các hướng dẫn khi cài đặt OpenCV 4.5 trên Jetson Nano - Kỹ thuật Q ...

Đọc thêm>

CV2.cap_prop_pos_msec Thời gian Python - You.com | Tìm kiếm ...

Tôi đang cố gắng trích xuất các khung theo dấu thời gian cụ thể từ video bằng opencv-python. Mã dường như hoạt động trong môi trường địa phương của tôi. mã số...

Đọc thêm>

CV2 gây ra lỗi phân đoạn (kết xuất lõi) ' - Python - OpenCV

Việc xây dựng/thực hiện dường như đã hoạt động nhưng tôi đang nhận được 'lỗi phân đoạn (kết xuất cốt lõi)' một chương trình Python đơn giản bắt đầu bằng 'Nhập CV2' Can & Nbsp; ......

Đọc thêm>

Python - Blog của Satyaki DE

Trích xuất dữ liệu được quét từ một biểu mẫu được đặt sẵn bằng OpenCV & Python ... Phân đoạn cuối cùng sẽ gọi hàm getWarPimages để có được ...

Đọc thêm>

Bài trung bình liên quan hàng đầu

Câu hỏi về Stackoverflow liên quan hàng đầu

Khắc phục sự cố mã trực tiếp

Lightrun cho phép các nhà phát triển thêm nhật ký, số liệu và ảnh chụp nhanh vào mã trực tiếp - không cần khởi động lại hoặc triển khai lại.

Bắt đầu miễn phí

Chủ đề Reddit liên quan hàng đầu

Bài đăng hackernoon liên quan hàng đầu

Tweet liên quan đến hàng đầu

Bài viết liên quan đến hàng đầu

Bài đăng Hashnode liên quan hàng đầu

Bất kỳ ý tưởng gì sai với mã này ở đây và cho tôi lỗi phân đoạn (lõi bị bỏ) ??? Tôi đã nhận được mã từ đây: https://docs.opencv.org/3.0-beta/doc/py_...homography
https://docs.opencv.org/3.0-beta/doc/py_...homography

Đây là mã:

import numpy as np
import cv2
from matplotlib import pyplot as plt
print("1")
MIN_MATCH_COUNT = 10
print("2")
img1 = cv2.imread("/Homography/car.jpg",0)          # queryImage
print("3")
img2 = cv2.imread("/Homography/scenery.jpg",0) # trainImage
print("4")
# Initiate SIFT detector
sift = cv2.SIFT()
print("5")
# find the keypoints and descriptors with SIFT
kp1, des1 = sift.detectAndCompute(img1,None)
print("6")
kp2, des2 = sift.detectAndCompute(img2,None)
print("7")
FLANN_INDEX_KDTREE = 0
print("8")
index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5)
print("9")
search_params = dict(checks = 50)
print("10")

flann = cv2.FlannBasedMatcher(index_params, search_params)
print("11")
matches = flann.knnMatch(des1,des2,k=2)
print("12")
# store all the good matches as per Lowe's ratio test.
good = []
print("13")
for m,n in matches:
    print("14")
    if m.distance < 0.7*n.distance:
        print("15")
        good.append(m)
        
if len(good)>MIN_MATCH_COUNT:
    print("16")
    src_pts = np.float32([ kp1[m.queryIdx].pt for m in good ]).reshape(-1,1,2)
    print("17")
    dst_pts = np.float32([ kp2[m.trainIdx].pt for m in good ]).reshape(-1,1,2)
    print("18")
    M, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC,5.0)
    print("19")
    matchesMask = mask.ravel().tolist()
    print("20")
    h,w = img1.shape
    print("21")
    pts = np.float32([ [0,0],[0,h-1],[w-1,h-1],[w-1,0] ]).reshape(-1,1,2)
    print("22")
    dst = cv2.perspectiveTransform(pts,M)
    print("23")
    img2 = cv2.polylines(img2,[np.int32(dst)],True,255,3, cv2.LINE_AA)
    print("24")
else:
    print("Not enough matches are found - %d/%d" % (len(good),MIN_MATCH_COUNT))
    print("25")
    matchesMask = None
    print("26")
    
draw_params = dict(matchColor = (0,255,0), # draw matches in green color
                   singlePointColor = None,
                   matchesMask = matchesMask, # draw only inliers
                   flags = 2)
print("27")
img3 = cv2.drawMatches(img1,kp1,img2,kp2,good,None,**draw_params)
print("28")
plt.imshow(img3, 'gray'),plt.show()
print("29")

Lỗi tôi nhận được là:

Error:

1 2 3 4 5 Segmentation fault (core dumped)

Bài viết: 5656

Chủ đề: 22

Tham gia: tháng 1 năm 2021Jan 2021

Danh tiếng: 2 2

Đây là một lỗi trong Python hoặc một thư viện. Toàn bộ quan điểm của Python là tránh mọi khả năng nhận được lỗi phân đoạn. Nếu bạn nhận được một, bạn đã phát hiện ra một lỗi. Python không thể tạo lỗi SEG dựa trên chương trình của bạn; Nếu có một, đó là một sai lầm trong việc thực hiện Python hoặc thư viện mà bạn đang gọi, có thể đã được viết bằng C cho hiệu suất. Không phải vấn đề của bạn. Lỗi dường như nằm trong Sift.DetectandCompute () dựa trên đầu ra được tạo ra. Nó đã thất bại giữa các dòng 13 (bản in thành công) và 16 vì vậy khả năng duy nhất là dòng 15. Tập tin báo cáo lỗi. Có lẽ cho thư viện CV2.

người có sở thích và gribouillis như bài đăng này

Điều gì gây ra lõi lỗi phân đoạn được đổ trong Python?

Tổng quan.Một lỗi phân đoạn (còn gọi là Segfault) là một điều kiện phổ biến khiến các chương trình gặp sự cố;Chúng thường được liên kết với một tập tin có tên là lõi.Segfault được gây ra bởi một chương trình cố gắng đọc hoặc viết một vị trí bộ nhớ bất hợp pháp.

Là lỗi phân đoạn là một bãi rác cốt lõi?

Lỗi kết xuất/phân đoạn lõi là một loại lỗi cụ thể do truy cập bộ nhớ mà không thuộc về bạn.Khi một đoạn mã cố gắng thực hiện hoạt động đọc và viết trong một vị trí đọc chỉ trong bộ nhớ hoặc khối giải phóng của bộ nhớ, nó được gọi là kết xuất cốt lõi.When a piece of code tries to do read and write operation in a read only location in memory or freed block of memory, it is known as core dump.

Điều gì gây ra một segfault?

Lỗi phân đoạn xảy ra khi chương trình cố gắng truy cập vị trí bộ nhớ mà nó không được phép truy cập hoặc cố gắng truy cập vị trí bộ nhớ theo cách không được phép (ví dụ: cố gắng ghi vào vị trí chỉ đọcđể ghi đè một phần của hệ điều hành).