Hallo Rico und hallo Liste! Ich bin neu hier und habe Deinen Thread aus dem Archiv gefischt, also nicht ärgern, wenn hier kein anständiger Reply-Header dran klebt.
Zu Deinen Fragen:
Nach deinem Kerntrace zeigt, dass beim proben Deiner TV-Karte aus dem modul cx8800 heraus (cx8800_initdev) v4l2_ctrl_add_handler aufgerufen wird.
In dieser wird angeblich ein lock gegriffen: but task is already holding lock: …(hdl->lock){+.+...}…v4l2_ctrl_add_handler+0x88/0xf0
weiter unten ruft die funktion dann find_ref_lock mit diesem hdl parameter, womit das lock dann noch mal gegriffen werden soll. Das ist dann ein DEADLOCK, da das lock nicht gegriffen werden kann solage es geriffen ist ...
Leier kann ich in meinem code nicht erkennen, das das lock das erste mal gegriffen werden soll. Ich habe hier den 3.8 getaggten code aus dem kernel git und dort wird eigentlich acht gegeben, dass das hdl->lock nicht 2 mal gegriffen wird. Ich vermute der 3.8.1-201 Code von Fedora enthält in v4l2_ctrl_add_handler einen patch der einen bug enthält.
Hast Du Deinen Kern selbst gebaut? Wenn ja, dann sieh Dir mal die v4l2_ctrl_add_handler in <kernelverz>/drivers/media/v4l2-core/v4l2-device.c an, ob du da ein greifen des locks endeckst.
Wenn Du keinen selbstgebauten kern hast, dann kommst Du wohl nicht drum herum dein TV-Karten Modul so lange zu blacklisten, bis es ein funtionierendes Kernpaket gibt, auch wenn der Fehler gar nicht an dem modul liegt höchstwahrscheinlich...
Ich weiß leider nicht wo man den Fedora gepatchten code herbekommt (ich hab auch nicht gesucht... :-)
Soweit erstmal viele Grüße, Johannes
Hi,
seit einigen Kernelversionen bekomme ich sporadisch "BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8". Dies passiert meist nur beim ersten Start nach dem Update des Kernel. Wenn das passiert, kann gnome nicht gestartet werden und es hilft nur noch ein Reset des Rechners. Ein Ausschnitt aus /var/log/messages ist im Anhang. Mit dem Kernel 3.8.1-201 von Fedora 18 ist mir jedoch noch kein normaler Start geglückt. Das System ist auf dem aktuellen Stand.
Ich vermute, dass es an der TV-Karte liegt. Ich würde diese jedoch gern weiterhin nutzen wollen und nur ungern aus dem PC ausbauen wollen.
Hat jemand eine Idee woran das liegen könnte und wie ich das Problem beseitigen kann?
Viele Grüße Rico
Hallo Johannes,
ich nutze den Fedora Kernel (http://download.fedoraproject.org/pub/fedora/linux/updates/18/SRPMS/kernel-3...). Dieser enthält einige Patches, aber ich konnte auf die Schnelle nichts im Bereich v4l2_ctrl_add_handler() finden.
v4l2_ctrl_add_handler { ... mutex_lock(add->lock); ... ret = handler_new_ref(hdl, ctrl); ... mutex_unlock(add->lock); return ret; }
Die Frage ist noch, hängen "DEADLOCK" und "NULL pointer dereference" zusammen oder sind das zwei verschiedene Sachen?
Da muss ich wohl mal einen eigenen Kernel bauen, mal sehen was der so macht.
Viele Grüße Rico
On 04.03.2013 17:27, Johannes Steinmetz wrote:
Hallo Rico und hallo Liste! Ich bin neu hier und habe Deinen Thread aus dem Archiv gefischt, also nicht ärgern, wenn hier kein anständiger Reply-Header dran klebt.
Zu Deinen Fragen:
Nach deinem Kerntrace zeigt, dass beim proben Deiner TV-Karte aus dem modul cx8800 heraus (cx8800_initdev) v4l2_ctrl_add_handler aufgerufen wird.
In dieser wird angeblich ein lock gegriffen: but task is already holding lock: …(hdl->lock){+.+...}…v4l2_ctrl_add_handler+0x88/0xf0
weiter unten ruft die funktion dann find_ref_lock mit diesem hdl parameter, womit das lock dann noch mal gegriffen werden soll. Das ist dann ein DEADLOCK, da das lock nicht gegriffen werden kann solage es geriffen ist ...
Leier kann ich in meinem code nicht erkennen, das das lock das erste mal gegriffen werden soll. Ich habe hier den 3.8 getaggten code aus dem kernel git und dort wird eigentlich acht gegeben, dass das hdl->lock nicht 2 mal gegriffen wird. Ich vermute der 3.8.1-201 Code von Fedora enthält in v4l2_ctrl_add_handler einen patch der einen bug enthält.
Hast Du Deinen Kern selbst gebaut? Wenn ja, dann sieh Dir mal die v4l2_ctrl_add_handler in <kernelverz>/drivers/media/v4l2-core/v4l2-device.c an, ob du da ein greifen des locks endeckst.
Wenn Du keinen selbstgebauten kern hast, dann kommst Du wohl nicht drum herum dein TV-Karten Modul so lange zu blacklisten, bis es ein funtionierendes Kernpaket gibt, auch wenn der Fehler gar nicht an dem modul liegt höchstwahrscheinlich...
Ich weiß leider nicht wo man den Fedora gepatchten code herbekommt (ich hab auch nicht gesucht... :-)
Soweit erstmal viele Grüße, Johannes
Hi,
seit einigen Kernelversionen bekomme ich sporadisch "BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8". Dies passiert meist nur beim ersten Start nach dem Update des Kernel. Wenn das passiert, kann gnome nicht gestartet werden und es hilft nur noch ein Reset des Rechners. Ein Ausschnitt aus /var/log/messages ist im Anhang. Mit dem Kernel 3.8.1-201 von Fedora 18 ist mir jedoch noch kein normaler Start geglückt. Das System ist auf dem aktuellen Stand.
Ich vermute, dass es an der TV-Karte liegt. Ich würde diese jedoch gern weiterhin nutzen wollen und nur ungern aus dem PC ausbauen wollen.
Hat jemand eine Idee woran das liegen könnte und wie ich das Problem beseitigen kann?
Viele Grüße Rico
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Ob das 2 Probleme sind... mhhh könnte gut sein. Den stackdump den du schicktest war jedenfalls von dem Deadlock.
Der vanilla kernel hat an da ja eigentlich diese Zeilen drin, die gucken, dass add != hdl ist ...
… 1770 /* Do nothing if either handler is NULL or if they are the same */ 1771 if (!hdl || !add || hdl == add) 1772 return 0; … hast du das auch drin?
hier kannst du gucken wie das im vanilla kernel aussieht: http://lxr.free-electrons.com/source/drivers/media/v4l2-core/v4l2-ctrls.c#L1...
Ich habe leider nicht genug Platz für noch ein kernelsource auf der platte, aber weiß vll jemand wo man den fedora kernel durchbrausen kann?
Viele Grüße Johannes
Am 04.03.2013 20:20, schrieb Rico Schüller:
Hallo Johannes,
ich nutze den Fedora Kernel (http://download.fedoraproject.org/pub/fedora/linux/updates/18/SRPMS/kernel-3...). Dieser enthält einige Patches, aber ich konnte auf die Schnelle nichts im Bereich v4l2_ctrl_add_handler() finden.
v4l2_ctrl_add_handler { ... mutex_lock(add->lock); ... ret = handler_new_ref(hdl, ctrl); ... mutex_unlock(add->lock); return ret; }
Die Frage ist noch, hängen "DEADLOCK" und "NULL pointer dereference" zusammen oder sind das zwei verschiedene Sachen?
Da muss ich wohl mal einen eigenen Kernel bauen, mal sehen was der so macht.
Viele Grüße Rico
On 04.03.2013 17:27, Johannes Steinmetz wrote:
Hallo Rico und hallo Liste! Ich bin neu hier und habe Deinen Thread aus dem Archiv gefischt, also nicht ärgern, wenn hier kein anständiger Reply-Header dran klebt.
Zu Deinen Fragen:
Nach deinem Kerntrace zeigt, dass beim proben Deiner TV-Karte aus dem modul cx8800 heraus (cx8800_initdev) v4l2_ctrl_add_handler aufgerufen wird.
In dieser wird angeblich ein lock gegriffen: but task is already holding lock: …(hdl->lock){+.+...}…v4l2_ctrl_add_handler+0x88/0xf0
weiter unten ruft die funktion dann find_ref_lock mit diesem hdl parameter, womit das lock dann noch mal gegriffen werden soll. Das ist dann ein DEADLOCK, da das lock nicht gegriffen werden kann solage es geriffen ist ...
Leier kann ich in meinem code nicht erkennen, das das lock das erste mal gegriffen werden soll. Ich habe hier den 3.8 getaggten code aus dem kernel git und dort wird eigentlich acht gegeben, dass das hdl->lock nicht 2 mal gegriffen wird. Ich vermute der 3.8.1-201 Code von Fedora enthält in v4l2_ctrl_add_handler einen patch der einen bug enthält.
Hast Du Deinen Kern selbst gebaut? Wenn ja, dann sieh Dir mal die v4l2_ctrl_add_handler in <kernelverz>/drivers/media/v4l2-core/v4l2-device.c an, ob du da ein greifen des locks endeckst.
Wenn Du keinen selbstgebauten kern hast, dann kommst Du wohl nicht drum herum dein TV-Karten Modul so lange zu blacklisten, bis es ein funtionierendes Kernpaket gibt, auch wenn der Fehler gar nicht an dem modul liegt höchstwahrscheinlich...
Ich weiß leider nicht wo man den Fedora gepatchten code herbekommt (ich hab auch nicht gesucht... :-)
Soweit erstmal viele Grüße, Johannes
Hi,
seit einigen Kernelversionen bekomme ich sporadisch "BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8". Dies passiert meist nur beim ersten Start nach dem Update des Kernel. Wenn das passiert, kann gnome nicht gestartet werden und es hilft nur noch ein Reset des Rechners. Ein Ausschnitt aus /var/log/messages ist im Anhang. Mit dem Kernel 3.8.1-201 von Fedora 18 ist mir jedoch noch kein normaler Start geglückt. Das System ist auf dem aktuellen Stand.
Ich vermute, dass es an der TV-Karte liegt. Ich würde diese jedoch gern weiterhin nutzen wollen und nur ungern aus dem PC ausbauen wollen.
Hat jemand eine Idee woran das liegen könnte und wie ich das Problem beseitigen kann?
Viele Grüße Rico
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Genau diese Zeile ist eigentlich im Fedora Kernel vorhanden, ich habe keinen Patch gefunden der dort etwas ändert. Die Quellen gibt es hier: http://pkgs.fedoraproject.org/cgit/kernel.git/ .
Heute konnte ich den 3.8.1er Kernel erfolgreich starten. Das Problem tritt also nur sporadisch auf. Es könnte evtl. an der Updatemethode von Fedora liegen und nicht am Kernel. Wenn ich so in die Crash-History (Automatisches Bug-Reporting-Tool) vom Kernel und in die Yum-History schaue habe ich genau nach jedem Kernelupdate einen oder mehrere Crashes mit dem Kernel (ich vermute, solange bis ich den vorherigen Kernel starte und es dann beim nächsten mal mit dem aktuellen geht).
Es ist schon Kernel 3.8.2 zum Probieren in Sicht. :-)
Viele Grüße Rico
On 04.03.2013 20:35, Johannes Steinmetz wrote:
Ob das 2 Probleme sind... mhhh könnte gut sein. Den stackdump den du schicktest war jedenfalls von dem Deadlock.
Der vanilla kernel hat an da ja eigentlich diese Zeilen drin, die gucken, dass add != hdl ist ...
… 1770 /* Do nothing if either handler is NULL or if they are the same */ 1771 if (!hdl || !add || hdl == add) 1772 return 0; … hast du das auch drin?
hier kannst du gucken wie das im vanilla kernel aussieht: http://lxr.free-electrons.com/source/drivers/media/v4l2-core/v4l2-ctrls.c#L1...
Ich habe leider nicht genug Platz für noch ein kernelsource auf der platte, aber weiß vll jemand wo man den fedora kernel durchbrausen kann?
Viele Grüße Johannes
Am 04.03.2013 20:20, schrieb Rico Schüller:
Hallo Johannes,
ich nutze den Fedora Kernel (http://download.fedoraproject.org/pub/fedora/linux/updates/18/SRPMS/kernel-3...). Dieser enthält einige Patches, aber ich konnte auf die Schnelle nichts im Bereich v4l2_ctrl_add_handler() finden.
v4l2_ctrl_add_handler { ... mutex_lock(add->lock); ... ret = handler_new_ref(hdl, ctrl); ... mutex_unlock(add->lock); return ret; }
Die Frage ist noch, hängen "DEADLOCK" und "NULL pointer dereference" zusammen oder sind das zwei verschiedene Sachen?
Da muss ich wohl mal einen eigenen Kernel bauen, mal sehen was der so macht.
Viele Grüße Rico
On 04.03.2013 17:27, Johannes Steinmetz wrote:
Hallo Rico und hallo Liste! Ich bin neu hier und habe Deinen Thread aus dem Archiv gefischt, also nicht ärgern, wenn hier kein anständiger Reply-Header dran klebt.
Zu Deinen Fragen:
Nach deinem Kerntrace zeigt, dass beim proben Deiner TV-Karte aus dem modul cx8800 heraus (cx8800_initdev) v4l2_ctrl_add_handler aufgerufen wird.
In dieser wird angeblich ein lock gegriffen: but task is already holding lock: …(hdl->lock){+.+...}…v4l2_ctrl_add_handler+0x88/0xf0
weiter unten ruft die funktion dann find_ref_lock mit diesem hdl parameter, womit das lock dann noch mal gegriffen werden soll. Das ist dann ein DEADLOCK, da das lock nicht gegriffen werden kann solage es geriffen ist ...
Leier kann ich in meinem code nicht erkennen, das das lock das erste mal gegriffen werden soll. Ich habe hier den 3.8 getaggten code aus dem kernel git und dort wird eigentlich acht gegeben, dass das hdl->lock nicht 2 mal gegriffen wird. Ich vermute der 3.8.1-201 Code von Fedora enthält in v4l2_ctrl_add_handler einen patch der einen bug enthält.
Hast Du Deinen Kern selbst gebaut? Wenn ja, dann sieh Dir mal die v4l2_ctrl_add_handler in <kernelverz>/drivers/media/v4l2-core/v4l2-device.c an, ob du da ein greifen des locks endeckst.
Wenn Du keinen selbstgebauten kern hast, dann kommst Du wohl nicht drum herum dein TV-Karten Modul so lange zu blacklisten, bis es ein funtionierendes Kernpaket gibt, auch wenn der Fehler gar nicht an dem modul liegt höchstwahrscheinlich...
Ich weiß leider nicht wo man den Fedora gepatchten code herbekommt (ich hab auch nicht gesucht... :-)
Soweit erstmal viele Grüße, Johannes
Hi,
seit einigen Kernelversionen bekomme ich sporadisch "BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8". Dies passiert meist nur beim ersten Start nach dem Update des Kernel. Wenn das passiert, kann gnome nicht gestartet werden und es hilft nur noch ein Reset des Rechners. Ein Ausschnitt aus /var/log/messages ist im Anhang. Mit dem Kernel 3.8.1-201 von Fedora 18 ist mir jedoch noch kein normaler Start geglückt. Das System ist auf dem aktuellen Stand.
Ich vermute, dass es an der TV-Karte liegt. Ich würde diese jedoch gern weiterhin nutzen wollen und nur ungern aus dem PC ausbauen wollen.
Hat jemand eine Idee woran das liegen könnte und wie ich das Problem beseitigen kann?
Viele Grüße Rico
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
lug-dd@mailman.schlittermann.de