Re: bug report about assert at [ kernel/fs/jbd2/transaction.c:2138 ]

From: Theodore Ts'o
Date: Thu Nov 21 2013 - 20:33:09 EST


On Thu, Nov 21, 2013 at 03:54:29PM +0800, Wang, Yalin wrote:
>
> I have a crash on Android phone during daily use.
>
> It crash at function __jbd2_journal_refile_buffer( ) :
>
> if (jh->b_transaction)
> assert_spin_locked(&jh->b_transaction->t_journal->j_list_lock);
>
>
> I have a look at the code,
> Seems this part are all handled by kernel ,
> So should be kernel BUG ,
>
> https://www.codeaurora.org/cgit/quic/la/kernel/msm/tree/fs/jbd2/commit.c?id=ccde7494b7174d810f316019b6e935fb222c6533

This commit ID references a truly antique kernel --- 2.6.29, dating
from January 9th, 2009. There is saying that in Internet times, two
years is infinity. So four years is two times infinity. :-)

If the reason why Sony is still shipping kernels that are this anique
is because you are stuck on !@#!?! proprietary binaries brought to you
by the letters 'B' or the letters 'Q', may I suggest that you add to
your procurement contracts a requirement that your downstream hardware
providers provide open source drivers?

(I'll note that some of enterprise server providers have succesfully
leaned on their peripheral providers for host bus adapters and
networking cards that the drivers not only be open source, but have to
be accepted in the upstream kernel. I'll gently suggest that handset
vendors first require in their procurement contracts that drivers at
the very least be open source, and then later, that said open source
drivers are accepted into the mainline kernel, since that way you
won't be responsible for forward porting out-of-tree drivers to
non-antique kernels.)

In any case, ext4 back in 2.6.29 had many bugs. It's not something
that the open source community is going to be all that interested in
supporting. Enterprise distributions pay long-suffering developers
$$$ to support ancient, old kernels. My advice to not ship new
products with ancient kernels.

If in fact you aren't really using that ancient a kernel, you need to
let us know the precise version of the kernel you are using.

Best regards,

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/