Баг с экраном.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
netraider
Мастер
Сообщения: 209
Зарегистрирован: 23 май 2015, 10:47
Репутация: 49
Настоящее имя: Юрий
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение netraider »

UAVpilot писал(а):
netraider писал(а):Как именно? как проиходит создание АП для процесса?
Это вообще не имеет отношения к теме, не надо "незаметно отползать" в сторону.
Это был ответ на реплику про загрузку/выгрузку из swap'a.
UAVpilot писал(а):
netraider писал(а):Попытке обработать некий запрос от hardinfo привела к обращению к данным этого модуля. модуля в памяти не оказалось.
В этом случае это самое "обращение" просто вернёт ошибку в пользовательский код (hardinfo)
см. в самом конце сообщения
UAVpilot писал(а):
netraider писал(а):аргументированную критику.
Тебе кто-то сказал, что твоя критика аргументированная, или ты сам так решил?.. :)
Я тебе показал в коде место, откуда выполняется печать на экран того самого сообщения. Вот про этот вызов:
netraider писал(а):И находится он (внезапно) в функции do_page_fault, которая вызывается ядром.
Это для тебя не аргумент? Ролик поскипал, жаль что дискуссия упала до такого уровня.
UAVpilot писал(а):
netraider писал(а):Ликбез говоришь? Найди 10 отличий, как говорится, от того что я тебе говорил. (это кстати у тебя такой прием ведения обсуждения? игнорировать аргументы и отсылать к источниками, в которых приводятся абсолютно эти же аргументы :thinking: )
Аналогичный приём: цитировать умные фразы, не имеющие отношения к вопросу. :)
Я тебе привожу цитаты из твоего источника. Там умные слова тебя? Эти фразы имеют прямое отношение к вопросу.

По поводу второй части -
UAVpilot писал(а):"отсылать к источниками, в которых приводятся абсолютно эти же аргументы"
Ну это же факт, не находишь?)

Я еще раз спрошу - тебе понятно откуда в листинге, который я привел, появился вызов do_page_fault ?
Думаю что сейчас опять будет возражение про "не относится к обсуждению" Но все таки... для знатока ядра это должен быть совсем простой вопрос. Это вообще краеугольный камень в нашем обсуждении. Заодно можешь рассказать как (откуда) выполняется генерация очень вовремя упомянутого SIGSEGV (только не на уровне "ядром выполняется", а более детально)
Без понимания почему, зачем и как - действительно, мои аргументы будут игнорироваться... :(
UAVpilot писал(а): Я ничего не говорил про динамическое выделение памяти процессу.
malloc ты упомянул, а не я.
UAVpilot писал(а): Я лишь сказал, что например из объявленного массива типа
static char buff[10]
попытались прочитать больше 10 байт, т.е. процесс попытался обратиться к чужой области памяти, за что и был пристрелен ядром посредством сигнала SIGSEGV. И что информация о причинах этого возможно есть в логе за верхней границей экрана (на скриншоте).
Нет там никакого SIGSEGV. Посмотри внимательно как do_page_fault посылает SIGSEGV (сюрприз наверное... да, даже тот же SIGSEGV посылается из do_page_fault). И как произшло "убиение" в нашем случае.
UAVpilot писал(а):Но тут появился netrider с умными словами про распределение памяти... :)
Почему относительно тривиальные веши ты называешь "умными словами" ?
UAVpilot писал(а):Подобную "ошибку" очень легко повторить: объявите аналогичный массив, заполните его ненулевыми байтами и натравите на него strlen...
Ага, и сравнить результаты со случаем, в котором вытаскивается флешка, на которой находтся... ну пусть динамически загруженный модудь с экспортируемым указателем на строку.
--
At the nanometer level, the world is made of rubber (с)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

netraider писал(а):Я тебе показал в коде место, откуда выполняется печать на экран того самого сообщения.
Разница только в контекстах: у ТС случилось обращение за пределы массива в сегменте данных, а в твоём "скриншоте" было обращение к области памяти в ядре (чтение из /proc/ioports).
netraider писал(а):По поводу второй части -
UAVpilot писал(а):отсылать к источниками, в которых приводятся абсолютно эти же аргументы
Ну это же факт, не находишь?)
Не надо выдумывать, я таких слов не писал!
netraider писал(а):malloc ты упомянул, а не я.
И не надо выдёргивать слова из контекста, про malloc я писал совсем по другому поводу. В данном-же случае было обращение к статической переменной в сегменте данных.
netraider писал(а):Нет там никакого SIGSEGV.
Ты что, видел с каким сообщением завершился процесс у ТС? Может у тебя ещё и посмертный дамп этого процесса есть?.. :)
netraider писал(а):Почему относительно тривиальные веши ты называешь "умными словами" ?
Потому что они не имеют отношения к данному случаю - там по значениям в регистрах хорошо видно, что обращение было не к динамически выделенному сегменту.
netraider писал(а):Ага, и сравнить результаты со случаем, в котором вытаскивается флешка, на которой находтся... ну пусть динамически загруженный модудь с экспортируемым указателем на строку.
Ну и откуда на флешке с УП мог взяться этот динамически загруженный модуль?.. И как ТС умудрился загрузить его с флешки?.. :)
Можешь кстати провести простой эксперимент: загрузи любой модуль в память (например драйвер паралельного порта), потом удали его с диска и попробуй работу паралельного порта - сюрприз будет... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Баг с экраном.

Сообщение nkp »

ребят,вы только тему не бросайте))
после всего этого если не выяснится кто же прав , как минимум до лета будет чувсво чего то незавершенного...
(а-ля "а выключила я утюг?"))
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

Скучно-же просто так ждать допинформации от ТС... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
netraider
Мастер
Сообщения: 209
Зарегистрирован: 23 май 2015, 10:47
Репутация: 49
Настоящее имя: Юрий
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение netraider »

UAVpilot писал(а):
netraider писал(а):Я тебе показал в коде место, откуда выполняется печать на экран того самого сообщения.
Разница только в контекстах: у ТС случилось обращение за пределы массива в сегменте данных, а в твоём "скриншоте" было обращение к области памяти в ядре (чтение из /proc/ioports).
А теперь внимательно сравни стеки.
UAVpilot писал(а):
netraider писал(а):По поводу второй части -
UAVpilot писал(а):отсылать к источниками, в которых приводятся абсолютно эти же аргументы
Ну это же факт, не находишь?)
Не надо выдумывать, я таких слов не писал!
Вот же любитель жонглировать словами) ты мне дал название книги, из которой я процитировал фрагмент с точностью до смысла совпадающий с тем, о чем я писал ранее.
UAVpilot писал(а):
netraider писал(а):malloc ты упомянул, а не я.
И не надо выдёргивать слова из контекста, про malloc я писал совсем по другому поводу.
Ну почему же... там вполне себе определенная связанная цепочка высказываний присутствует. Хоть и не имеющая отношения к обсуждению.
UAVpilot писал(а):
netraider писал(а):Нет там никакого SIGSEGV.
Ты что, видел с каким сообщением завершился процесс у ТС?
Видел. в самом первом сообщении написано. Еще раз повторю - поищи с исходниках это сообщение и многое сразу станет понятно.
UAVpilot писал(а):
netraider писал(а):Почему относительно тривиальные веши ты называешь "умными словами" ?
Потому что они не имеют отношения к данному случаю
Из этого логически следует вывод что и вся твоя книга не имеет отношения к данному случаю. И упомянута она была видимо для придания веса своим словам.
UAVpilot писал(а):там по значениям в регистрах хорошо видно, что обращение было не к динамически выделенному сегменту.
Собственно по одному только этому утверждению можно сделать определенные выводы об уровне знаний.
Естественно там содержимое регистров качественно отличается, стеки ведь сняты совсем в разных местах.
UAVpilot писал(а):Можешь кстати провести простой эксперимент: загрузи любой модуль в память (например драйвер паралельного порта), потом удали его с диска и попробуй работу паралельного порта - сюрприз будет..
Если для тебя это было сюрпризом, это не значит что для остальных это также будет сюрпризом.
UAVpilot писал(а):
netraider писал(а):Ага, и сравнить результаты со случаем, в котором вытаскивается флешка, на которой находтся... ну пусть динамически загруженный модудь с экспортируемым указателем на строку.
Ну и откуда на флешке с УП мог взяться этот динамически загруженный модуль
ну что ж ты так заботливо контекст то удалил

псевдокод:
ты>Подобную "ошибку" очень легко повторить: объявите аналогичный массив, заполните его ненулевыми байтами и натравите на него strlen.
я> ок, и сделай другой тест c флешкой и сравни результаты.
ты>Ну и откуда на флешке с УП мог взяться этот динамически загруженный модуль

facepalm.

Сплошная демагогия без ответов по существу (ответа про page_fault я так и не увидел). Дальше без меня.
--
At the nanometer level, the world is made of rubber (с)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

netraider писал(а): теперь внимательно сравни стеки.
Они даже начинаются с разных вызовов/функций... Не говоря уж о контексте, в аоторых работают. Но похоже ты не понимаешь что это такое...
netraider писал(а):Вот же любитель жонглировать словами
Тогда дай ссылку на мой пост со словами, которые ты процитировал как мои?
netraider писал(а):Видел. в самом первом сообщении написано.
Нужно различать сообщения, которые пишет ядро пристреливая процесс и сообщения самого процесса, когда его насильно завершают...
netraider писал(а):Из этого логически следует вывод что и вся твоя книга не имеет отношения к данному случаю.
К данному падению отошения не имеет. Она про работу менеджера памяти в Linux, на которую ты зачем-то съехал с темы и понёс какую-то фигню...
netraider писал(а):Собственно по одному только этому утверждению можно сделать определенные выводы об уровне знаний.
Естественно там содержимое регистров качественно отличается, стеки ведь сняты совсем в разных местах.
Неужели ты и сам заметил, что у ТС стек обычного процесса, а у тебя стек кода ядра?..
Хотя сомнительно - для этого надо понимать структуру ELF формата и знать где именно располагается код ядра и его модулей...
netraider писал(а):я> ок, и сделай другой тест c флешкой и сравни результаты.
Ещё раз повторю для надёжности: приведённый тобой случай произошёл при исполнении команды

Код: Выделить всё

cat /proc/ioports
это прямым текстом написано по твоей-же ссылке. Каким боком тут флешка?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
netraider
Мастер
Сообщения: 209
Зарегистрирован: 23 май 2015, 10:47
Репутация: 49
Настоящее имя: Юрий
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение netraider »

все поскипал.
Сначала я хочу услышать ответ на один вопрос, который ты упорно игнорируешь:
(немного переформулирую) - Какая функция печатет сообщение "Unable to handle kernel paging request", которое мы увидели на скриншоте?
Только имя функции. Только без всякой воды и прочего. "Ядро"/"не имеет значения"/"съехал с темы"/"понёс какую-то фигню" - это не названия функций. Отдельно добавлю - разумеется printf и аналогичные функции меня также не интересуют. Только после этого я готов продолжать разговор (в т.ч. отвечу на твое сообщение выше). Хотя чувствую продолжения не будет...
--
At the nanometer level, the world is made of rubber (с)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

netraider писал(а):Хотя чувствую продолжения не будет...
Конечно не будет - ты ж "неудобные" аргументы либо игноришь, либо просто не понимаешь о чём речь. Умеешь только грепать исходники ядра, но как оно там работает не понимашь. Какой смысл повторять тебе по несолько раз?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
netraider
Мастер
Сообщения: 209
Зарегистрирован: 23 май 2015, 10:47
Репутация: 49
Настоящее имя: Юрий
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение netraider »

UAVpilot писал(а):Конечно не будет
Я и не сомневался
UAVpilot писал(а): ты ж "неудобные" аргументы либо игноришь, либо просто не понимаешь о чём речь.
напомню:
netraider писал(а):Тебе понятно, откуда в стеке после вызова strlen появился вызов page_fault, не смотря на то, что в коде strlen он отсутствует? Это основной вопрос и он напрямую относится к обсуждаемой проблеме.
netraider писал(а): ответа про page_fault я так и не увидел
netraider писал(а):Я еще раз спрошу - тебе понятно откуда в листинге, который я привел, появился вызов do_page_fault ?
netraider писал(а):Какая функция печатет сообщение "Unable to handle kernel paging request", которое мы увидели на скриншоте?
(минимум ЧЕТЫРЕ РАЗА я задавал тебе один и тот же вопрос).

Ответы на этот вопрос не должны преставлять сложности для человека, который знает что и как в ядре устроено. "Я все знаю, но никому не скажу" ничем не отличается от "не знаю" для стороннего наблюдателя (меня в данном случае). Но ведь все гораздо хуже... Большинство твоих попыток хоть как-то объяснить обсуждаемое поведение основываются на попытках выдать желаемое за действительное.

Вот это тебя выдало с потрохами:
UAVpilot писал(а):В твоём листинге видно, что после отстрела strlen начинает работать "отладочный" код, который добавил компилятор по опции "-g".
Это в корне не верно.
Будешь настаивать что это так и есть? Тогда давай, попробуй подтвердить свои слова) Минимальный код, опции компилятора, дизассемблируй что-нибудь, etc. :eat:
Только ты ведь не будешь этого делать) зачем, когда вокруг все идиоты по умолчанию:
"добавил компилятор по опции "-g"
"для этого надо понимать структуру ELF формата"
"удали его с диска и попробуй работу паралельного порта - сюрприз будет"
"хотел меня поразить умными словами?"
"Умеешь только грепать исходники ядра, но как оно там работает не понимашь
:thinking:

Резюмирую - по существу тебе сказать нечего. Собственно что и требовалось доказать.
Повышенное ЧСВ, сплошные обвинения и попытки наезда. Слив защитан.
Дальше можешь писать что угодно, уровень твоей квалификации в обсуждаемом вопросе я выяснил, манеру вести обсуждение - тоже.
--
At the nanometer level, the world is made of rubber (с)
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Баг с экраном.

Сообщение 1240 »

Где Сабака?

или это уже неважно?

Можно я вместо него (неё) свою, похожую проблему подброшу?
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Баг с экраном.

Сообщение 1240 »

Суть проблемы:
Использую LinuxCNC скачал с
http://www.linuxcnc.org/linuxcnc-2.7-wheezy.iso

При работе через LPT порт система работает нормально.
Но я использую 7i76e

выполнил необходимые установки необходимые для её работы
Система в общем работает
2_7_4.jpg (2341 просмотр) <a class='original' href='./download/file.php?id=111012&mode=view' target=_blank>Загрузить оригинал (319.14 КБ)</a>
Но примерно, как и у автора темы если я работаю с флешкой система может зависнуть (наглухо)
Также есть проблемы, когда редактирую УП (тоже может зависнуть)
Если станок начал работать, то дальше работает нормально (по 12-16 часов)
Зависает не всегда.
Может 5-6 копирований с флешки пропустить нормально.
Также виснет при втыкании USB-модема

Вопрос: где смотреть (в каких файлах) информацию для решения проблемы?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

1240 писал(а):Вопрос: где смотреть (в каких файлах) информацию для решения проблемы?
В выводе программы dmesg, в конце.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Баг с экраном.

Сообщение 1240 »

UAVpilot писал(а):В выводе программы dmesg, в конце.
Сейчас станок работает.

Закончу работу, добьюсь зависания и выложу данные из dmesg

После перезагрузки там будет необходимая информация? Или данные актуальные в течении одной сессии?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

Актуально до перезагрузки. Лучше сразу после глюка.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Sabaka
Кандидат
Сообщения: 80
Зарегистрирован: 22 янв 2014, 23:10
Репутация: 6
Откуда: Мытищи
Контактная информация:

Re: Баг с экраном.

Сообщение Sabaka »

1240 писал(а):Где Сабака?
Здесь я. Наблюдаю как мужики решают проблему, путем выяснения истины))
1240 писал(а):Но примерно, как и у автора темы если я работаю с флешкой система может зависнуть (наглухо)
Также есть проблемы, когда редактирую УП (тоже может зависнуть)
Если станок начал работать, то дальше работает нормально (по 12-16 часов)
Зависает не всегда.
Может 5-6 копирований с флешки пропустить нормально.
Также виснет при втыкании USB-модема
У меня совсем не так, и ничего вообще не зависает, только пропадает картинка на мониторе и вместо нее код на черном фоне, остальное все шуволиться и работает без проблем. Работаю через ЛПТ.
Флешку я сразу извлекаю до начала исполнения УП, в момент выдергивания и появился баг. У меня это носит скорее локальный характер а у вас систематический. Я сейчас тупо секунд 5 жду после размонтирования флехи, что бы ее выдернуть, вдруг и правда система не успевает тупо размонтировать флеху.
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Баг с экраном.

Сообщение 1240 »

Из зависания выйти могу только через кнопку reset
Получается dmesg не поможет?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

А если подождать несколько минут?..
Мышка тоже не шевелится? А, например, по Ctrl-Alt-F3 на текстовую консоль переключится?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Баг с экраном.

Сообщение 1240 »

Для себя я проверяю насколько жестко завис комп, путем нажимания на "Num Lock" или подобные клавиши.
Если компьютер не переключает соответствующий индикатор хоть-бы с запаздыванием, то все плохо. (жму кнопку резет).
Сейчас виснет именно так.
мышка не шевелиться
Ждал до 5 мин

Ctrl-Alt-F3 - не пробовал (при первой возможности попробую)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Баг с экраном.

Сообщение Serg »

Sabaka писал(а):Здесь я. Наблюдаю как мужики решают проблему, путем выяснения истины))
Долго наблюдать придётся, пока у кого-нибудь способности к телепатии и телеинезу не откроются...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Баг с экраном.

Сообщение 1240 »

Пока не виснет, но я решил посмотреть как работает
UAVpilot писал(а): Ctrl-Alt-F3
Работает так:
Появляется черный экран и предлагается ввести логин и пароль

Ну и как отсюда теперь выйти? :wik:

вышел перезагрузкой по кнопке.

Вставляя и вынимая флешку на шестой раз добился того что комп флешку не видит

последние строки в dmesg
[ 939.124023] usb 1-4: device not accepting address 6, error -110
[ 939.236023] usb 1-4: new high-speed USB device number 7 using ehci_hcd
[ 954.792022] usb 1-4: device not accepting address 7, error -110
[ 954.904024] usb 1-4: new high-speed USB device number 8 using ehci_hcd
[ 965.336023] usb 1-4: device not accepting address 8, error -110
[ 965.392045] hub 1-0:1.0: unable to enumerate USB device on port 4

Теперь если вставить флешку комп её не видит.
Как то можно это полечить?
Ответить

Вернуться в «LinuxCNC»