Menu

#27 Session hangs when trying to unload module

open-accepted
nobody
5
2010-02-24
2009-11-09
Anonymous
No

Здравствуйте! У меня проблема при попытке выгрузить модуль ipt_NETFLOW: после выполнения modprobe -r ipt_NETFLOW в консоль выводится сообщение об ошибке сегментирования, все последующие попытки использования modprobe или lsmod приводят к зависанию сессии.
Вывод dmesg
ipt_netflow unloading..
ipt_netflow unloaded.
------------[ cut here ]------------
kernel BUG at mm/slab.c:600!
invalid opcode: 0000 [#1] PREEMPT SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:03:01.0/host0/scsi_host/host0/stats
Modules linked in: pptp pppox i2c_dev i2c_i801 i2c_core [last unloaded: ipt_NETFLOW]

Pid: 26972, comm: modprobe Not tainted (2.6.30-gentoo-r4 #2) G31MF-S2
EIP: 0060:[<c0186aba>] EFLAGS: 00010006 CPU: 1
EIP is at kfree+0x3a/0x70
EAX: c1703220 EBX: 00000008 ECX: f8362de4 EDX: 80000828
ESI: f818f64c EDI: f81911e0 EBP: 00000282 ESP: d1c77f28
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process modprobe (pid: 26972, ti=d1c76000 task=c92db830 task.ti=d1c76000)
Stack:
00000008 f818f64c 00000008 d1c76000 c0140ebd f8191600 f8191648 00000000
c0156134 00000000 f8191600 c01563ca 5f747069 4654454e 00574f4c f52c95c0
c017895e f52c95c0 f239e900 c0179937 ffffffff b8092000 b8092000 00000000
Call Trace:
[<c0140ebd>] ? destroy_params+0x2d/0x40
[<c0156134>] ? free_module+0x94/0xe0
[<c01563ca>] ? sys_delete_module+0x1aa/0x220
[<c017895e>] ? remove_vma+0x3e/0x60
[<c0179937>] ? do_munmap+0x227/0x280
[<c0102f74>] ? sysenter_do_call+0x12/0x26
Code: 80 00 00 00 40 c1 e8 0c c1 e0 05 03 05 40 3b 8c c0 8b 10 66 85 d2 79 0f 8b 40 0c 8b 10 66 85 d2 79 05 8b 40 0c 8b 10 84 d2 78 04 <0f> 0b eb fe 8b 70 18 e8 ba ad 11 00 8b 1c 86 8b 03 3b 43 04 72
EIP: [<c0186aba>] kfree+0x3a/0x70 SS:ESP 0068:d1c77f28
---[ end trace 23cd56d02ca4bb71 ]---

Ошибка происходит только при попытке выгрузить ipt_NETFLOW
Ядро 2.6.31-r3 gentoo-sources
Система gentoo linux

Discussion

  • ABC

    ABC - 2009-11-09
    • labels: 1163922 --> Kernel panic
     
  • ABC

    ABC - 2009-11-09

    Incompatible kernel version 2.6.31.
    Module only tested by me with kernels up to 2.6.29.
    Попробуйте юзать ядро 2.6.29.

     
  • Anonymous

    Anonymous - 2009-11-10

    Может стоит тогда запостить модуль в netdev?
    Насколько я знаю только 2.6.27 ядро было объявлено ЛнгТаймЛив. Текущая ветка ядра на данный момент 2.6.31. 29 морально устарело. Текущая версия iptables 1.4.5. Если не хватает сил и желания - может быть отдать Community на доработку?
    Идея отличная, работает быстро, но и поддерживать нужно. После 29-ого ядра внесено очень много доработок которые увеличили производительность.

     
  • ABC

    ABC - 2009-11-10

    Модуль тестировался на ядрах 18-29, так что 27 должно работать.

    На счет Community - кто мешает уже сейчас слать патчи? Модуль опенсорсный, GNU, просьба слать патчи в трекере давно висит и т.д. Что тако netdev не знаю, если это какой-то майл-лист и вы хотите туда постить и рекламировать/пробивать его разработку, то удачи. С моей стороны никаких препятствий для этого нет.

     
  • ABC

    ABC - 2009-11-11

    Сейчас вспомнил, мне писали, что подобная проблема была с реал-тайм ядром, а для скомпиленого не реал-тайм её нет.

    >
    > I have downloaded the ipt-netflow-1.6 and it worked
    > great in 2.6.30 kernel (normal scheduler, i.e. no
    > realtime)
    >
    > System that ipt-netflow-1.6 works has the following
    > uname command:
    >
    > Linux saigon 2.6.30.8-64.dl100.fc11.i686.PAE #1 SMP
    >
    > System (realtime) that ipt-netflow-1.6 does not work has
    > the following uname command:
    >
    > Linux saigon 2.6.30.8-64.dl100.fc11.i686.PAE #1 SMP PREEMPT
    >
    > The specific problem is when "rmmod" is used to remove the
    > module. This "rmmod" hang the system. I put printk statements
    > in the beginning of "static void __exit ipt_netflow_fini(void)"
    > and these statements don't get called at all.
    >

     
  • ABC

    ABC - 2009-12-06

    Проверьте, если не трудно, исправилась ли ошибка в последней версии модуля из cvs.

     
  • Nobody/Anonymous

    На сегодняшний день все то же....
    А очень бы хотелось, что бы прапвильно работало!

    2.6.30.10-106.LIS11.i686.PAE #1 SMP Sun Jan 3 20:53:13 MSK 2010 i686 i686 i386 GNU/Linux
    iptables-1.4.5-1.LIS11.i586
    cat config-2.6.30.10-106.LIS11.i686.PAE | grep PREEMPT
    # CONFIG_PREEMPT_RCU is not set
    # CONFIG_PREEMPT_RCU_TRACE is not set
    CONFIG_PREEMPT_NOTIFIERS=y
    CONFIG_PREEMPT_NONE=y
    # CONFIG_PREEMPT_VOLUNTARY is not set
    # CONFIG_PREEMPT is not set

     
  • ABC

    ABC - 2010-02-23

    Пробовали ли версию из cvs?

     
  • Nobody/Anonymous

    Из cvs то и пробовал))))
    Стабильная не собирается с 2.6.30 и 1.4.5((((

     
  • Nobody/Anonymous

    Очень прошу Вас разобраться с этим делом!

     
  • Nobody/Anonymous

    ЗЫ
    Огромное спасибо за быструю реакцию и пользуясь случаем, с праздником!
    ЗЫЗЫ прошу прощения за офтоп...

     
  • Nobody/Anonymous

    А на другой машине, с этим же ядром (вроде как) именно этот модуль (перенесенный методом копирования) отлично выгружается!
    Feb 23 18:07:40 nas klogd: ipt_netflow unloading..
    Feb 23 18:07:40 nas klogd: netflow: remove destination 127.0.0.1:2055 (cc6b0fc0)
    Feb 23 18:07:40 nas klogd: ipt_netflow unloaded.

     
  • ABC

    ABC - 2010-02-23

    Может ли так быть, что вы загружаете на этой машине старую версию модуля.

     
  • Nobody/Anonymous

    ага, поймал разницу!
    с module-init-tools-3.4-2.LIS.i386 отлично выгружается, без всяких ошибок,
    а вот module-init-tools-3.7-10.fc11.i586 дает проблему!

     
  • Nobody/Anonymous

    Модуль скомпилировал на той машине (мой боевой бук))), где дает ошибку при выгрузке.
    Методом копирования перенес на продакшен (с дрожью в сердце!),
    и о чудо!!!! Все прекрасно работает!!! Низкий поклон за прекрасную реализацию!!!
    ЗЫ
    ядро раннее было так же перенесено...
    разница в машинах в топике ниже...
    Возможно еще какие-то библиотеки...

     
  • ABC

    ABC - 2010-02-24
    • status: open --> open-accepted
     
  • ABC

    ABC - 2010-02-24

    Значит дело в новой версии module-init-tools, как я вас понял. Спасибо, что разобрались. Посмотрю, что там менялось.

     
  • Nobody/Anonymous

    Да, это точно! Откатился на буке на module-init-tools-3.4-13 - все отлично!
    Можете написать, что с Kernel-2.6.30 отлично работает версия из CVS.
    А с багом module-init-tools-3.7-10 надо разбираться....
    На досуге попробую, может с более свежей версией module-init-tools не будет проблем...

     
  • Nobody/Anonymous

    Разобралься окончательно! Не работает с module-init-tools-3.7-pre9.
    Странно было бы думать, что пререлиз без глюков!
    И эти глюки именно в module-init-tools-3.7-pre9, а не в Netflow iptables module!
    Однако, многие дистрописатели (в том числе уважаемая мною Красная Шапка) наделали именно на предрелизе. М не думают обновляться! Апдейт для Федоры 11 так на нем и остался! Кому надо, качайте на нормальном module-init-tools-3.7 и все будет работать!
    http://www.lis.su/module-init-tools-3.7-11.LIS11.i586.rpm

     
  • ABC

    ABC - 2010-02-24

    Спасибо за помощь.

     
  • Nobody/Anonymous

    Я обеими руками за то чтобы модуль попал в ядро. Там уже все что угодно, включая бред от M$, ipt_netflow по-настоящему полезный модуль.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.