Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Giovanni Martarello -
Número de respostas: 7

Olá para todos, bom dia!


Estou iniciando um novo desafio, administrar um Moodle que já está "rodando" tem um tempo.


Recebi uma demanda deste erro "Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course." após um Aluno se autenticar e clicar em "Meus Cursos" (http://e-learning.univiasoft.com.br/my/).


Debugando o erro encontrei este LOG no Apache2: Debug: \nError code: codingerror\n* line 5721 of /lib/accesslib.php: coding_exception thrown\n* line 7338 of /lib/accesslib.php.


O erro ocorre nesta função do código:


    /**

     * Is this context part of any course? If yes return course context.

     *

     * @param bool $strict true means throw exception if not found, false means return false if not found

     * @return context_course context of the enclosing course, null if not found or exception

     */

    public function get_course_context($strict = true) {

        if ($strict) {

            throw new coding_exception('Context does not belong to any course.');

        } else {

            return false;

        }

    }


Alguém já passou por algum problema parecido?


Poderia me auxiliar ao menos onde iniciar a análise?


Muito obrigado.

Em resposta a 'Giovanni Martarello'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Eduardo Kraus -

Este erro pode ter vindo de vários locais.

Precisas passar o TRACE do erro pois ele dirá daonde veio a chamada que ocasionou o erro.

Ex:

  • line 1530 of /lib/dml/moodle_database.php: dml_missing_record_exception thrown
  • line 1297 of /lib/datalib.php: call to moodle_database->get_record_sql()
  • line 37 of /mod/video/view.php: call to get_coursemodule_from_id()

Muito prazer, sou Eduardo Kraus
Professor, programador e apaixonado por Moodle

Em resposta a 'Eduardo Kraus'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Giovanni Martarello -
Olá Eduardo,


Segue o TRACE:


[Thu Jun 16 11:39:22.908123 2016] [:error] [pid 13888] [client 200.195.135.2:53045] Default exception handler: Erro de codifica\xc3\xa7\xc3\xa3o detectado e deve ser corrigido por um programador: Context does not belong to any course.

Debug: \nError code: codingerror\n* line 5721 of /lib/accesslib.php: coding_exception thrown\n* line 7338 of /lib/accesslib.php: 

call to context->get_course_context()\n* line 42 of /blocks/porcentagem/block_porcentagem.php:

call to context_block->get_course_context()\n* line 288 of /blocks/moodleblock.class.php:

call to block_porcentagem->get_content()\n* line 230 of /blocks/moodleblock.class.php:

call to block_base->formatted_contents()\n* line 973 of /lib/blocklib.php:

call to block_base->get_content_for_output()\n* line 1025 of /lib/blocklib.php:

call to block_manager->create_block_contents()\n* line 473 of /lib/outputrenderers.php:

call to block_manager->ensure_content_created()\n* line 37 of /theme/essential/layout/includes/header.php:

call to core_renderer->standard_head_html()\n* line 28 of /theme/essential/layout/columns3.php:

call to require_once()\n* line 1015 of /lib/outputrenderers.php:

call to include()\n* line 945 of /lib/outputrenderers.php: 

call to core_renderer->render_page_layout()\n* line 164 of /my/index.php:

echo $OUTPUT->header();

call to core_renderer->header()\n, referer: http://moodle.../.../portal/


Se puderes ajudar ficarei muito grato.

Em resposta a 'Giovanni Martarello'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Eduardo Kraus -

Parece-me que o erro esta no blocks/porcentagem. Não achei fonte dele.

Muito prazer, sou Eduardo Kraus
Professor, programador e apaixonado por Moodle

Em resposta a 'Eduardo Kraus'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Giovanni Martarello -

Entendo, esse Bloco foi adquirido com um terceiro. Ele faz um cálculo quando o aluno acessa a disciplina e mostra de acordo com as atividades visualizadas (cliques) quantos % foi acessado (realizado) no curso.

O estranho é só ocorrer este erro com um aluno dentre os mais de 2.000 da plataforma e ele ocorrer ao acessar o http://moodle.../my/.

Eu comparei os registros em várias tabelas do "aluno problema" com outros alunos onde o erro não ocorre e não encontrei divergências.


Em resposta a 'Giovanni Martarello'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Weber Ribeiro -
Mas o plugin "Barra de Progresso" não faz isso?
Em resposta a 'Weber Ribeiro'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Giovanni Martarello -

Correto Weber,

Pelo que vi este Plugin não está instalado aqui neste ambiente e como estou iniciando na Plataforma estou procurando o auxílio da comunidade.

Grato.

Em resposta a 'Giovanni Martarello'

Re: Erro de codificação detectado e deve ser corrigido por um programador: Context does not belong to any course.

por Rafael Mota -

Estou passando por algo parecido meu log retornou isso, não sei.


line 1730 of /lib/tablelib.php: coding_exception thrown

line 187 of /lib/tablelib.php: call to table_dataformat_export_format->__construct()

line 171 of /lib/tablelib.php: call to flexible_table->export_class_instance()

line 105 of /mod/feedback/classes/responses_table.php: call to flexible_table->is_downloading()

line 70 of /mod/feedback/show_entries.php: call to mod_feedback_responses_table->__construct()

×Output buffer: <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>