[haiku-bugs] Re: [Haiku] #8325: ralink2860 crashes in combat_read

  • From: "korli" <trac@xxxxxxxxxxxx>
  • Date: Wed, 15 Feb 2012 12:38:19 -0000

#8325: ralink2860 crashes in combat_read
-------------------------------------------+-----------------------
   Reporter:  czeidler                     |      Owner:  korli
       Type:  bug                          |     Status:  new
   Priority:  normal                       |  Milestone:  R1
  Component:  Network & Internet/Wireless  |    Version:  R1/alpha3
 Resolution:                               |   Keywords:  ralink
 Blocked By:                               |   Blocking:
Has a Patch:  0                            |   Platform:  All
-------------------------------------------+-----------------------

Old description:

> anybody has a clue whats going wrong here? KDL after the first attempt to
> access the network.
>
> This is hrev43739 but I also saw it before the recent bsd8 driver update.
>
> {{{
>
> frame               caller     <image>:function + offset
>  0 cd648ba8 (+  32) 801245ca   <kernel_x86>:arch_debug_stack_trace +
> 0x0012
>  1 cd648bcp_info 0x0
> [net/ralink2860/0] [00:27:0d:e3:2d:08] reassoc succes 0x000b
>  2 cd648bd8 (+  12) 8012998e
> <kernel_x86>:arch_debug_call_with_fault_handler + 0x001b
>  3 cd648be4 (+  48) 8009313e   <kernel_x86>:debug_call_with_fault_handler
> + 0x0056
>  4 cd648c14 (ASSOC -> RUN arg 48
> [net/ralink2860/0] sta_newstate: ASSOC -> RU717 "PANIC: ",
> 0x801809a0 "object_cache: object %p is already freed",
> 0xcd648cc0 "", int32: 0) + 0x0213
>  5 cd648c54 (+  48) 80091c3b   <kernel_x86>
> kernel_debugger_internal(0x8016d717 "PANIC: ",
> 0x801809a0 "object_cache: object %p is already freed",
> 0xcd648cc0 "", int32: x820f3400<00:27:0d:e3:2d:08>
> refcnt 3
> [net/ralink2860/0] beacon :panic + 0x0024
>  7 cd648cb4 (+  64) 800fde7a   <kernel_x86>:object_cache_free + 0x0062
>  8 cd648cf4 (+  48) cd5badbd   </boot/system/add-
> ons/kernel/drivers/dev/net/ralink2860>:mb_free_ext + 0x0081
>  9 cd648d24 (+  48) cd5bae20   </boot/system/add-
> ons/kernel/drivers/dev/net/ralink2860>:m_free + 0x0034
> 10 cd648d54 (+  48) cd5bad28   </boot/system/add-
> ons/kernel/drivers/dev/net/ralink2860>:m_freem + 0x0028
> 11 cd648d84 (+  64) cd5b0a10   </boot/system/add-
> ons/kernel/drivers/dev/net/ralink2860>:compat_read + 0x0190
> 12 cd648dc4 (+  64) 800a34b2   <kernel_x86>
> BPrivate::AbstractModuleDevice<0xce583d00>::Read(0x8227ed00,
> int64: 8617, int64: -3646632513095964392,
> 0xcd648e64) + 0x002a
> 13 cd648e04 (+  80) 800a875e   <kernel_x86> devfs_read(fs_volume*:
> 0x82199e78, fs_vnode*: 0xce7ad3c8, 0xce7a58e0,
> int64: 8617, 0xce866918, 0xcd648f0c) + 0x0126
> 14 cd648e54 (+  64) 800dee5f   <kernel_x86> file_read(file_descriptor*:
> 0xce5f40b0, int64: 8617, 0xce866918,
> 0xcd648f0c) + 0x0067
> 15 cd648e94 (+  96) 800cb7e9   <kernel_x86>:_kern_read + 0x0149
> 16 cd648ef4 (+  64) 801407eb   <kernel_x86>:read + 0x001f
> 17 cd648f34 (+  64) cd626b8b   </boot/system/add-onde STA state RUN
> [net/ralink2860/0] ieee80211_ref_node (ieee8021ice*: 0x823202a0,
> net_buffer*: 0xcd648fb0) + 0t/ralink2860/0] beacon miss, mode
> STA state RUN
> [net/ralink2860/l/network/stack>
> device_reader_thread(0xce5edd58) + 0x003b
> 19 cd648fb4 (+  48) 80079980   <kernel_x86>
> common_thread_entry(0xcd648ff0) + 0x0080
> kdebug> reboot
>
> }}}

New description:

 anybody has a clue whats going wrong here? KDL after the first attempt to
 access the network.

 This is hrev43739 but I also saw it before the recent bsd8 driver update.

 {{{

 frame               caller     <image>:function + offset
  0 cd648ba8 (+  32) 801245ca   <kernel_x86>:arch_debug_stack_trace +
 0x0012
  1 cd648bcp_info 0x0
 [net/ralink2860/0] [00:27:0d:e3:2d:08] reassoc succes 0x000b
  2 cd648bd8 (+  12) 8012998e
 <kernel_x86>:arch_debug_call_with_fault_handler + 0x001b
  3 cd648be4 (+  48) 8009313e   <kernel_x86>:debug_call_with_fault_handler
 + 0x0056
  4 cd648c14 (ASSOC -> RUN arg 48
 [net/ralink2860/0] sta_newstate: ASSOC -> RU717[0m [36m"PANIC: "[0m,
 [34m0x801809a0[0m [36m"object_cache: object %p is already freed"[0m,
 [34m0xcd648cc0[0m [36m""[0m, int32: [34m0[0m) + 0x0213
  5 cd648c54 (+  48) 80091c3b   <kernel_x86>
 kernel_debugger_internal([34m0x8016d717[0m [36m"PANIC: "[0m,
 [34m0x801809a0[0m [36m"object_cache: object %p is already freed"[0m,
 [34m0xcd648cc0[0m [36m""[0m, int32: x820f3400<00:27:0d:e3:2d:08> refcnt 3
 [net/ralink2860/0] beacon :panic + 0x0024
  7 cd648cb4 (+  64) 800fde7a   <kernel_x86>:object_cache_free + 0x0062
  8 cd648cf4 (+  48) cd5badbd   </boot/system/add-
 ons/kernel/drivers/dev/net/ralink2860>:mb_free_ext + 0x0081
  9 cd648d24 (+  48) cd5bae20   </boot/system/add-
 ons/kernel/drivers/dev/net/ralink2860>:m_free + 0x0034
 10 cd648d54 (+  48) cd5bad28   </boot/system/add-
 ons/kernel/drivers/dev/net/ralink2860>:m_freem + 0x0028
 11 cd648d84 (+  64) cd5b0a10   </boot/system/add-
 ons/kernel/drivers/dev/net/ralink2860>:compat_read + 0x0190
 12 cd648dc4 (+  64) 800a34b2   <kernel_x86>
 BPrivate::AbstractModuleDevice<[32m0xce583d00[0m>::Read([34m0x8227ed00[0m,
 int64: [34m8617[0m, int64: [34m-3646632513095964392[0m, [34m0xcd648e64[0m)
 + 0x002a
 13 cd648e04 (+  80) 800a875e   <kernel_x86> devfs_read(fs_volume*:
 [34m0x82199e78[0m, fs_vnode*: [34m0xce7ad3c8[0m, [34m0xce7a58e0[0m, int64:
 [34m8617[0m, [34m0xce866918[0m, [34m0xcd648f0c[0m) + 0x0126
 14 cd648e54 (+  64) 800dee5f   <kernel_x86> file_read(file_descriptor*:
 [34m0xce5f40b0[0m, int64: [34m8617[0m, [34m0xce866918[0m,
 [34m0xcd648f0c[0m) + 0x0067
 15 cd648e94 (+  96) 800cb7e9   <kernel_x86>:_kern_read + 0x0149
 16 cd648ef4 (+  64) 801407eb   <kernel_x86>:read + 0x001f
 17 cd648f34 (+  64) cd626b8b   </boot/system/add-onde STA state RUN
 [net/ralink2860/0] ieee80211_ref_node (ieee8021ice*: [34m0x823202a0[0m,
 net_buffer*: [34m0xcd648fb0[0m) + 0t/ralink2860/0] beacon miss, mode STA
 state RUN
 [net/ralink2860/l/network/stack> device_reader_thread([34m0xce5edd58[0m) +
 0x003b
 19 cd648fb4 (+  48) 80079980   <kernel_x86>
 common_thread_entry([34m0xcd648ff0[0m) + 0x0080
 kdebug> reboot

 }}}

--

Comment (by korli):

 Clemens,

 the driver isn't integrated in FreeBSD, thus not updated periodically.
 FreeBSD compat layer was updated at least two times for the network layer
 and one time for the wireless layer.

 You could :
 * check if anything relevant was fixed in
 http://repo.or.cz/w/ralink_drivers/rt2860_fbsd8.git/tree since initial
 import in Haiku.
 * check what has changed in the compat layer and require a change in the
 driver.

 BTW if the driver is now unstable in trunk, we should probably not
 integrate it in the image anymore.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8325#comment:1>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: