__rw_wlock_hard panic on 1st malloc

Warner Losh imp at bsdimp.com
Thu Apr 18 00:03:40 UTC 2013


Also, I'm able to get to mountroot> on my allwinner board if I disable WITNESS, but have all kinds of problems if I don't.

And the goofy stack traceback is totally busted for me, so finding out where I am has been an exercise in frustration.

Warner

On Apr 17, 2013, at 4:45 PM, Damjan Marion wrote:

> 
> yes, thanks for the hint. After moving back to gcc everything works fine.
> 
> Damjan
> 
> On Apr 17, 2013, at 5:37 PM, Warner Losh <imp at bsdimp.com> wrote:
> 
>> I don't think it is, at least not with clang compiled code. Ian was saying on IRC that he saw this and went back to gcc and life was good.
>> 
>> Warner
>> 
>> On Apr 16, 2013, at 5:44 PM, Damjan Marion wrote:
>> 
>>> 
>>> When I apply your patch I'm getting the same error but this time in busdma_init().
>>> Again it is 1st malloc() inside busdma_bufalloc_create().
>>> 
>>> Can anybody confirm that latest HEAD is working on other Cortex-A CPUs?
>>> 
>>> Damjan
>>> 
>>> On Apr 17, 2013, at 12:43 AM, Warner Losh <imp at bsdimp.com> wrote:
>>> 
>>>> The problem here is a double fault. The first fault is in init_dynamic_kenv when we try to read the kernel environment. The second fault happens because we don't wind up in the debugger (I think due to reading the stack goes awry).
>>>> 
>>>> I've fixed the first problem in r249570.
>>>> 
>>>> Not sure what's going on beyond that, since after fixing that I hit a similar issue in stack_copy() but without a traceback, it is kinda hard.
>>>> 
>>>> This is on my MarsBoard with an allwinner tech's A10 CPU.
>>>> 
>>>> Warner
>>>> 
>>>> 
>>>> On Apr 14, 2013, at 12:51 PM, Damjan Marion wrote:
>>>> 
>>>>> 
>>>>> I doubt. init_dynamic_kenv() is called by sysinit as part of standard sysinit sequence and 
>>>>> it is called after kmeminit().
>>>>> 
>>>>> There is no my custom code except standard parts of initarm initialisation.
>>>>> 
>>>>> Damjan
>>>>> 
>>>>> On Apr 14, 2013, at 7:19 PM, Warner Losh <imp at bsdimp.com> wrote:
>>>>> 
>>>>>> Maybe you are calling malloc before these locks are initialized?
>>>>>> 
>>>>>> Warner
>>>>>> 
>>>>>> On Apr 14, 2013, at 5:03 AM, Damjan Marion wrote:
>>>>>> 
>>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I'm playing a bit with i.MX6 based board (wandboard) and I have serial console working but
>>>>>>> now it panics in init_dynamic_kenv() with the following error:
>>>>>>> 
>>>>>>> panic: __rw_wlock_hard: recursing but non-recursive rw pmap pv global @ /usr/src/sys/arm/arm/pmap-v6.c:1187
>>>>>>> 
>>>>>>> It looks like this is the 1st place where malloc() is called, an malloc returns valid VA
>>>>>>> but 1st attempt to access that address produces panic above.
>>>>>>> 
>>>>>>> Any idea what can be the reason for this or any other hint?
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> Damjan
>>>>>>> _______________________________________________
>>>>>>> freebsd-arm at freebsd.org mailing list
>>>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the freebsd-arm mailing list