Nie jesteś zalogowany na forum.

#1 2018-06-22 07:53:33

savior
Użytkownik
Data rejestracji: 2016-04-19
Liczba postów: 11

Naruszenie ochrony pamięci (zrzut pamięci)

Witam wszystkim,
Mam do was pytanie. Napisałem aplikację w Qt5.11. skopiowałem ją na arch (notebook z i5) i chciałbym przenieść tą kompilację na serwer (Xeon).

$ uname -a
Linux komp 4.17.2-1-ARCH #1 SMP PREEMPT Sat Jun 16 11:08:59 UTC 2018 x86_64 GNU/Linux

Ale podczas uruchamiania aplikacji mam komunikat Naruszenie ochrony pamięci (zrzut pamięci).
Kod kompiluje się bez problemu na xeonie i wtedy apka działa, ale nie działa na notebooku.
Moglibyście mi podpowiedzieć dlaczego tak się dzieje ?

Ostatnio edytowany przez savior (2018-06-22 07:58:16)

Offline

#2 2018-06-22 08:43:54

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 1,657
WWW

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

"Skopiowałem ją (...)" oznacza, że przeniosłeś binarkę skompilowaną na Xeonie na i5? Jeśli tak, to prawdopodobnie skompilowałeś ją w sposób taki, że aplikacja wykorzystuje możliwości Xeona, których w i5 nie ma. Innymi słowy "skompilowana pod procesor", a winna chodzić na każdym 64-bit.


Hardware: AMD: A8-7410 APU with Radeon R5
Software (podaję wyłącznie odrębności): Arch testing+kde-unstable, kernel linux-pb (4.19.8 m.in. PDS, UKSM, BFQ-MQ/SQ), amdgpu (dla CIK), KDE, patche z POLAUR

Offline

#3 2018-06-22 08:51:46

savior
Użytkownik
Data rejestracji: 2016-04-19
Liczba postów: 11

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

tak przeniosłem (przekopiowałem) binarkę.
wykonałem test:
1. kompilacja na i5 przekopiowałem na xeon.
2. kompilacja na xeon przekopiowałem na i5.
w obydwóch przypadkach jest ten sam błąd.

Czy powinienem ją skompilować z jakimś specjalnym parametrem? żeby działała na obydwóch maszynach?

Offline

#4 2018-06-22 09:05:40

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 1,657
WWW

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

Jak to kompilujesz? Jakie parametry przekazujesz do budowania? Kompilujesz to z wykorzystaniem PKGBUILD? Masz ustawione jakieś flagi w CMakeLists.txt lub *.pro? Generalnie poszukaj info o tzw. clean chroot.


Hardware: AMD: A8-7410 APU with Radeon R5
Software (podaję wyłącznie odrębności): Arch testing+kde-unstable, kernel linux-pb (4.19.8 m.in. PDS, UKSM, BFQ-MQ/SQ), amdgpu (dla CIK), KDE, patche z POLAUR

Offline

#5 2018-06-22 09:12:14

savior
Użytkownik
Data rejestracji: 2016-04-19
Liczba postów: 11

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

z pliku pro

QT       += core gui xml

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = qt-app
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += \
    main.cpp \
    mainwindow.cpp \
    checkcombobox.cpp \
    droparea.cpp \
    lineedit.cpp \
    treeviewmenu.cpp \
    classEnigma.cpp

HEADERS += \
    mainwindow.h \
    checkcombobox.h \
    droparea.h \
    lineedit.h \
    treeviewmenu.h \
    classEnigma.h

FORMS += \
    mainwindow.ui

RESOURCES += \
    images_rc.qrc

Ok spróbuje coś doczytać.

Offline

#6 2018-06-22 09:16:11

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 1,657
WWW

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

To ma być paczka dla Archa? Jeśli tak - PKGBUILD.
Kompilujesz w Archu?

W pliku *.pro nic nie widać, by się odwoływał do jakichś flag procesora, ale ja jestem laikiem.


Hardware: AMD: A8-7410 APU with Radeon R5
Software (podaję wyłącznie odrębności): Arch testing+kde-unstable, kernel linux-pb (4.19.8 m.in. PDS, UKSM, BFQ-MQ/SQ), amdgpu (dla CIK), KDE, patche z POLAUR

Offline

#7 2018-06-22 09:29:41

savior
Użytkownik
Data rejestracji: 2016-04-19
Liczba postów: 11

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

Chciałem kompilować to na komputerze i ewentualnie przenosić żeby nie męczyć serwera za każdym razem gdy coś zmienię. Wcześniej program działał na windowsie i tu nie ma żadnego problemu. Ale zaszła potrzeba uruchamiać go na linuxie to też tak to zrobiłem ale jak to się skończyło widać powyżej.

Offline

#8 2018-06-22 09:36:38

pavbaranov
Administrator
Lokalizacja: Kraków
Data rejestracji: 2015-08-22
Liczba postów: 1,657
WWW

Odp: Naruszenie ochrony pamięci (zrzut pamięci)

Może to być też inna kwestia. Zrób mu backtrace i zobacz (oczywiście na i5 - tam gdzie masz błąd).
Zerknij na: https://wiki.archlinux.org/index.php/De … ing_Traces oraz https://wiki.archlinux.org/index.php/St … ging_guide


Hardware: AMD: A8-7410 APU with Radeon R5
Software (podaję wyłącznie odrębności): Arch testing+kde-unstable, kernel linux-pb (4.19.8 m.in. PDS, UKSM, BFQ-MQ/SQ), amdgpu (dla CIK), KDE, patche z POLAUR

Offline

Stopka

Napędzają nas PacmanVPS i MegiTeam

Forum oparte na FluxBB