Bug #3349
openThere is no initialization of ldv_mutex_TEMPLATE
0%
Description
In some drivers (for example drivers/infiniband/core/ib_core.ko) of linux 3.5 I've found this bug in rerouter. I wrote test drivers, and tried to make similar situation, but the bug's result wasn't repeated.
{
ldv_mutex_TEMPLATE = 1;
return ;
}
entry_point
{
LDV_IN_INTERRUPT = 1;
ldv_initialize_FOREACH()
{
return ;
}
...
}
Updated by Evgeny Novikov about 12 years ago
- Category changed from Environment Generation to 15
- Status changed from New to Open
- Assignee changed from Ilja Zakharov to Evgeny Novikov
It looks like a bug in the rerouter implementation inside BLAST. But due to we are developing a new rerouter on the basis of CIF, we must ensure that the new implementation will not have such the issue.
Updated by Evgeny Novikov about 12 years ago
- Category changed from 15 to BLAST
- Assignee deleted (
Evgeny Novikov)
Aspect rerouter hasn't such the issue. I guess that we're going to use just aspect models in near future, so this bug can be closed. Or somebody can fix plain rerouter one day...
Updated by Evgeny Novikov about 12 years ago
At last I found the moment when this bug arose. This happened after fixing #453 in f9f0431 (more strictly, after changing the way of model common part processing in c8b6d97 that was done while fixing #453). From that time even for plain models common parts aren't concatenated with some file of a module. They are placed to separate file that is "linked" together with other module "objects" before verification.
It looks like there is a bug in plain rerouter because of even before fixing #453 there were such messages in debug trace:
Duplicate function skipped due to -ignoredupfn (ldv_initialize_FOREACH) Duplicate function skipped due to -ignoredupfn (ldv_check_final_state_FOREACH)
But after fixing #453 we have much more such messages:
Duplicate function skipped due to -ignoredupfn (ldv_initialize_FOREACH) Duplicate function skipped due to -ignoredupfn (ldv_check_final_state_FOREACH) Duplicate function skipped due to -ignoredupfn (mutex_is_locked_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (mutex_is_locked_lock) Duplicate function skipped due to -ignoredupfn (mutex_is_locked_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (mutex_unlock_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (mutex_unlock_lock) Duplicate function skipped due to -ignoredupfn (mutex_unlock_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (mutex_trylock_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (mutex_trylock_lock) Duplicate function skipped due to -ignoredupfn (mutex_trylock_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (mutex_lock_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (mutex_lock_lock) Duplicate function skipped due to -ignoredupfn (mutex_lock_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (mutex_lock_killable_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (mutex_lock_killable_lock) Duplicate function skipped due to -ignoredupfn (mutex_lock_killable_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (mutex_lock_interruptible_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (mutex_lock_interruptible_lock) Duplicate function skipped due to -ignoredupfn (mutex_lock_interruptible_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (atomic_dec_and_mutex_lock_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (atomic_dec_and_mutex_lock_lock) Duplicate function skipped due to -ignoredupfn (atomic_dec_and_mutex_lock_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (ldv_initialize_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (ldv_initialize_lock) Duplicate function skipped due to -ignoredupfn (ldv_initialize_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (ldv_check_final_state_ctrl_urb_lock) Duplicate function skipped due to -ignoredupfn (ldv_check_final_state_lock) Duplicate function skipped due to -ignoredupfn (ldv_check_final_state_em28xx_devlist_mutex) Duplicate function skipped due to -ignoredupfn (ldv_initialize_FOREACH) Duplicate function skipped due to -ignoredupfn (ldv_check_final_state_FOREACH)