Problemas de Conkeror por solucionar

conkeror (escrito con c, no con k) es un navegador web que sigue el estilo de Emacs; es por tanto muy personalizable. Es el que más uso, y aunque me permite ser muy productivo, aún no me es cómodo del todo. Aquí listo los fallos que intento corregir.

Esta página es parte de mi lista de cosas por hacer e incluye muchas notas personales e información irrelevante o anticuada. Se puede ver de forma estructurada con org-mode (es como mantengo ésta y otras listas de tareas; lo explico aquí).

8.m01.2012 (desde 2009). Daniel Clemente Laboreo (web, correo). Este fichero se ve mejor abriendo conkeror.org con org-mode (Emacs)

Otras listas: Índice (varias tareas) Temas de investigación (tareas mayores) Emacs Bazaar Conkeror Sobre este sistema (y org-mode)


Índice


1 fallos en conkeror y pequeños cambios

1.1 BONUS fallo raro al volcar búfers

1.2 IS al cerrar una pestaña quiero ir al búfer de la derecha

SCHEDULED: 20.m02.2009 CLOSED: 02.m03.2009 11:34

  • CONCLUSIÓN escrita el 02.m03.2009 11:34
    ya se hizo; es con „w“ en mi conkeror

Pues considero la barra como una pila donde lo izquierdo es lo más viejo. Puedo empezar a usar bury-buffer para salir del paso.

1.2.1 IS preguntado en grupo de conkeror

CLOSED: 26.m02.2009 20:39

1.3 FARU quitar cuadro que pide bajar plugin de Flash

1.3.1 IS encontrar una página donde pase

SCHEDULED: 01.m02.2009 CLOSED: 03.m02.2009 21:43

1.3.1.1 una donde pasa: 02.m02.2009 15:43: http://my.colby.edu/ics/Libraries/
<!-- Beginning of meebo me widget code. Want to talk with visitors on your page? Go to http://www.meebome.com/ and get your widget! -->
<div style="TEXT-ALIGN: center">  <embed src="http://widget.meebo.com/mm.swf?RDEHFPsHqk" width="160" height="250" type="application/x-shockwave-flash" wmode="transparent"><br><span class="text11"><strong><strong></strong></strong></span><strong><strong></strong></strong></div><strong><strong>
<div align="center"><a href="http://www.colby.edu/academics_cs/library/im-olin.cfm" target="_blank"">OlinHelp</a> | <a href="http://www.colby.edu/academics_cs/library/im-bixler.cfm" target="_blank"">BixlerHelp</a><a href="http://www.colby.edu/academics_cs/library/about/forms/meet-librarian.cfm?renderforprint=1"> </a></div>
</strong></strong></div></div></div><br style="clear:both" />
1.3.1.2 otra donde pasa: 02.m02.2009 16:40: http://www.jivesoftware.com/
<script type="text/javascript" language="javascript">
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
        'width', '720',
        'height', '359',
        'src', '/resources/flash/homepage',

1.3.2 IS página mínima reproducible

CLOSED: 03.m02.2009 21:47

<embed src="http://widget.meebo.com/mm.swf" type="application/x-shockwave-flash" />
Hola

1.3.3 IS escribir a lista (cuando tenga página reproducible)

SCHEDULED: 09.m02.2009 CLOSED: 09.m02.2009 16:55

Hi, each time I open a page which embeds a Flash object, a popup appears which says:


This page contains information of a type (application/x-shockwave-flash) that can only be viewed with the appropriate Plug-in. Click OK to download Plugin.


I certainly don't want Flash, and I don't like that Conkeror asks me each time. There should be a way to remember the user's decision… or a way to disable this dialog.

You can use this code to try:

<embed src="http://widget.meebo.com/mm.swf" type="application/x-shockwave-flash" /> Hola

Or test it by opening any of these URLs:

This seems to happen only in a computer running Ubuntu 8.04. In my home computer running Debian unstable, no popup appears. However, both have the same values in about:config:

  • application.use_ns_plugin_finder;false
  • plugin.expose_full_path;true
  • plugin.override_internal_types;false
  • privacy.popups.disable_from_plugins;2
  • security.xpconnect.plugin.unrestricted;true

Greetings, Daniel

1.3.4 ¿por qué en ali no pasa y en CPU107 sí?

ali: Debian

  • application.use_ns_plugin_finder;false
  • plugin.expose_full_path;true
  • plugin.override_internal_types;false
  • privacy.popups.disable_from_plugins;2
  • security.xpconnect.plugin.unrestricted;true

En CPU107: Ubuntu

  • esas 5 están igual
1.3.4.1 IS mirar en CPU107

SCHEDULED: 05.m02.2009 09:30 CLOSED: 06.m02.2009 12:19

1.3.4.2 FARU probar con perfil nuevo en cada uno

1.3.5 MALFAR ver si lo solucionan o responden los de Conkeror

SCHEDULED: 06.m03.2009 CLOSED: 09.m03.2009 11:08

  • CONCLUSIÓN escrita el 09.m03.2009 11:08
    me da igual; ya lo solucioné yo; ya me enteraré por otros medios

http://bugs.conkeror.org/issue130

1.3.6 IS solución temporal

CLOSED: 20.m02.2009 09:09

  • CONCLUSIÓN escrita el 20.m02.2009 09:10
    pues ya va, pero no aviso para ver qué dicen ellos

You need to disable the Adobe Reader plugin to prevent it from viewing PDFs inside Conkeror. Type M-x extensions to open the extensions manager, select plugins, select Adobe Reader, and click disable.

Desactivar el plugin base.

1.3.7 cosa relacionada

1.4 quiero más teclas útiles

1.4.1 IS C-t (transpose-chars) en más sitios y más útil

CLOSED: 21.m03.2010 21:39

  • CONCLUSIÓN escrita el 21.m03.2010 21:39
    ya se arregló y va en todos lados

Lo mandé a la lista el 24.m09.2009. Mandado otro parche el 09.m10.2009.

1.4.2 FARU teclas para usar combos y listas de selección

Quiero:

  • tecla para moverme arriba/abajo por SELECT
  • tecla para desplegar combo
  • tecla para moverme arriba/abajo por combo

Ver en conkeror/modules/bindings/default/content-buffer/select.js

O preguntar:

  • when a combo or a selection list (<select><option><option>…) is focused, C-p and C-n scroll the list, whereas up/down (cursor keys) move the selection pointer up/down. I would like to change …

1.5 FARU motor de búsqueda en el idioma local

Ej: que poniendo minibúfer g y luego „g 142857“ me dé la interfaz y resultados adaptados al idioma que yo elija.

Creo que en la definición de google en conkeror/search-engines/google.xml falta pasar un:

<Param name="hl" value="{language}"/>

Además creo que toma user_pref(LOCALE_PREF), cuando esto está lejos de la local del usuario (ej: yo tenía en-US aunque LANG=ca_ES.UTF-8).

1.6 FARU que salga el atributo title (los rótulos) en imágenes, enlaces, etc.

Parece ser que es este informe http://bugs.conkeror.org/msg377

Lo más cómodo es que salgan flotantes sólo al apuntar, sin tocar teclas. Pero además con atajo de teclado para cuando no se usa el ratón.

1.7 IS evitar que se mueva el foco (regresión)

CLOSED: 13.m10.2009 21:21
http://bugs.conkeror.org/issue209

1.8 IS no siempre va a la URL del portapapeles (usando paste-url)

CLOSED: 16.m10.2009 08:56

1.8.1 IS descripción

El problema está en esta entrada:

Author: John Foerch <…>  2009-09-23 02:02:23
Committer: John Foerch <…>  2009-09-23 02:02:49
Parent: 854151f3feecc7ff736ede69c0c05e5a3d5308d4 (comments and docstrings for browser object system)
Branches: master, remotes/origin/master, remotes/origin/new-input-system
Follows: abe-0.9--git090719-1
Precedes: 0.9.1

    browser object "pasteurl" renamed to "paste-url"
    
    also rewrote it to validate the url

Y por tanto en este código:

define_browser_object_class("paste-url",
    "Browser object which reads an url from the X Primary Selection, "+
    "falling back on the clipboard for operating systems which lack one.",
    function (I, prompt) {
        try {
            return make_uri(read_from_x_primary_selection()).spec;
        } catch (e) {
            throw new interactive_error("error: malformed url");
        }

El problema es que no coge como buenas URLs que no tengan el http:// al principio. Ej: www.a.com no va, pero http://www.a.com

1.8.2 IS corregir paste-url

Tocar esto: /w/conkeror/modules/element.js::return make_uri read_from_x_primary_selection spec

Si tiene ^[^:]+\. es que le falta la parte del protocolo, por tanto hay que añadir "http://" Antes le quito espacios.

make_uri hace al final: return io_service.newURI(uri, charset, base_uri);, donde uri es una cadena normal.

1.8.3 IS esperar corrección oficial

CLOSED: 16.m10.2009 08:56

  • CONCLUSIÓN escrita el 16.m10.2009 08:56
    metido

http://bugs.conkeror.org/issue212

1.9 BONUS los rótulos de selección de enlace podrían usar clases para cambiar por CSS

Yo he cambiado el color a todos los enlaces (a) y me encuentro que hay algunos a los que no se lo quiero cambiar: los que se iluminan mientras estoy tecleando letras al elegir el enlace a seguir. Pero como no tienen clase asignada los activos (__conkeror_hint es para todos) no puedo darles CSS.

1.9.1 marcar por CSS los activos

De hecho se podría tener todo este sistema de rótulos en CSS en vez de tocar estilo desde JavaScript. Así es más personalizable. Y ya hay una parte hecha en CSS (hints.css); lo que hay que hacer es quitar las definiciones de colores desde los .js (elem.style.color etc.)

1.9.1.1 plan

Se puede poner clase .conkeror_hint_link para todos (ahora amarillo) y .conkeror_hint_link_active para el seleccionado/actual (ahora verde). No hace falta crear clases especiales para imágenes pues eso se puede hacer por img.conkeror_hint_link_selected etc.

1.9.1.2 ¿se puede hacer todo con clases CSS?

Más difícil es iluminar IFRAMEs etc. No sé si se puede hacer por CSS

1.9.1.3 BONUS ¿más o menos velocidad?

No sé si pintar los rótulos por CSS sería más rápido. Por las pocas pruebas que he hecho, parece que sí.

1.9.1.4 primeras pruebas que van

En hints.css:

.__conkeror_hint_link { background-color: blue !important; color: white !important; }

Y luego en hints.js cambios del estilo: if (!h.img_hint && h.elem.style) { //h.elem.style.backgroundColor = (active_number == cur_number) ? active_hint_background_color : hint_background_color; h.elem.className=(active_number == cur_number)?"__conkeror_hint_link_active":"__conkeror_hint_link";

}

etc.

1.10 FARU al usar „conkeror „fichero.html“, se confunde y quiere abrir http://fichero.html/

Debería añadir // según toque

http://bugs.conkeror.org/issue240

1.11 BONUS read_from_x_primary_selection() no coge bien unicode (o UTF-8)

Ej. cuando copio desde Emacs (-nw, o sea sin X) la palabra pewność y la recupera Conkeror mediante read_from_x_primary_selection(), recibe extrañamente pewno[, así, con un [ al final. Pasa lo mismo si la copia desde el mismo Conkeror en vez de desde Emacs.

Visto el 29.m05.2011.

2 ideas para cosas nuevas

2.1 FARU recargar cada cierto tiempo

He mandado: http://bugs.conkeror.org/issue177

Mensajes relacionados:

2.2 BONUS reordenar pestañas

  • CONCLUSIÓN escrita el 16.m04.2009 21:48
    hice lo que pude; ahora me toca esperar y corregir mínimamente

Lo he probado en ~/.conkerorrc::function test_move_tab_left window Y lo he enviado a conkeror.

2.2.1 IS mandar como fallo

CLOSED: 27.m04.2009 20:19
http://bugs.conkeror.org/issue151

2.2.2 MALFAR ver si me ayudan un poco con lo de las pestañas (ver si resuelven el fallo)

SCHEDULED: 15.m05.2009 CLOSED: 18.m05.2009 20:18

  • CONCLUSIÓN escrita el 18.m05.2009 20:18
    Lo abandono porque no sé mucho; ya envié el fallo y quizás más adelante recupero el código.

2.2.3 IS parche de arlinius, lo implementa

CLOSED: 09.m07.2011 00:53

  • CONCLUSIÓN escrita el 09.m07.2011 00:53
    el parche de John Foerch sucede a éste y corrige lo que dije

Tabs no longer have closures on their buffers. Instead, a tab's buffer is now stored as a property of the tab. Also fixed some whitespace in tab.addEventListener calls.

The buffer container now has a buffer_ordering list which specifies the order of the buffers used for buffer_next, rather than using the order of the buffer vbox elements in the buffer-container deck directly.

A new function, buffer_move_forward, has been added. This function moves a buffer forward in its window's buffer container. The interactive commands buffer-move-forward and buffer-move-backward have also been added. There is a new hook, move_buffer_hook, which is run every time the order of buffers is changed. Its argument is the buffer that was moved.

new-tabs.js uses move_buffer_hook to update the index numbers shown on the tabs as well as the ordering of the tabs. Tab ordering is controlled by setting the ordinal attribute on the tab.

Respondo:

Thanks for implementing this. I have been testing it and it works pretty well.

  • I would add this.add_hook("move_buffer_hook") in buffer_count_widget (mode-line.js) to update the „[13/13]“ part in the modeline.
  • Each reordering should be written to the session file. Now, if I change the order of a tab and close Conkeror without adding/removing other tabs, the original ordering is saved. So session_auto_save_save should be run in move_buffer_hook too
  • It doesn't work when the tab bar is disabled, due to move_buffer_hook always calling tab_bar_move_buffer. I suppose it could rearrange buffers so that you'll notice those invisible changes when you turn the tab bar on again.

2.2.4 BONUS John lo implementó en rama buffer-ordering; revisar

SCHEDULED: 09.m02.2012
El 14.m05.2011.

  • „The keys M-N and M-P are used to move buffers manually through the spatial buffer list.“
  • [ ] probar un tiempo
  • [ ] apuntar fallos
  • [ ] comentar

2.3 BONUS inspector de DOM y CSS fácil de usar

Está DOM Inspector, pero algo como Firebug es más fácil de usar.

2.4 IS tecla en conkeror para traducir página

CLOSED: 22.m04.2010 09:19

2.5 IS tecla para traducir palabra, detectando el idioma de origen y enviando al diccionario apropiado

CLOSED: 11.m06.2010 13:30

2.6 FARU desactivar teclas especiales en ciertas páginas que las tienen

Ej. es eso de „access keys“; „shortcut keys“ le llaman.

Ej. de página donde pasa: entrar en https://github.com/ y darle a la m. Sale un cuadro con chuleta de la sintaxis.

Es muy molesto. Quiero que las páginas me definan ninguna tecla, pues ya me defino yo las que quiero.

2.6.1 conkeror tiene „modos de página“ pero no quiero definir un modo para cada página molesta

  • github tiene uno, pero activarlo es aún peor

2.6.2 puedo usar noscript

2.7 BONUS desplazamiento horizontal en conkeror

Ver ~/.conkerorrc::moverse horizontalmente hacia derecha e izquierda

// Pues ya está esto, que va bien.
//    define_key(keymap, "C-b","cmd_scrollLeft");
//    define_key(keymap, "C-f","cmd_scrollRight");
// Pero además definiré unos equivalente a C-uC-uC-b y C-uC-uC-f, que se mueven más rápido. Los pongo en Meta

No encuentro función para hacer „→“ aunque la tecla „→“ va porque está definida como builtin_command.

Más difícil de lo esperado. Necesito ejemplos de extensión de una función. O preguntar a Conkeror…

2.8 ATENDAS mapa para modificar el directorio de destino de descargas

Mandado a Conkeror el 30.m08.2010: „Be able to select the download directory programmatically“ http://bugs.conkeror.org/issue294

Quizás es útil la resolución que se hizo para http://bugs.conkeror.org/issue271 (refactorizando suggest_file_name).

2.9 BONUS función para atrás+cerrar en botón del ratón

Ya que no uso mucho el ratón, puedo asignar funciones útiles a sus botones. Además las necesito.

Ej.

  • [ ] clic derecho en fondo:
    • [X] ir atrás
    • [ ] si ya no se puede ir más atrás, cerrar búfer → esto deshace en 1 paso la navegación global
  • [ ] clic derecho en enlace: copiar destino del enlace

Interesante:

Quiero:

  • [X] que no afecte a barra de pestañas
  • [X] que se active para todos los búfers
  • [ ] que se pueda desactivar (ej. conmutar globalmente) ya que alguna página me puede exigir el clic derecho (aunque no debería)

2.9.1 primera prueba, detecta el clic derecho y va atrás

Funciona

interactive("deshaznave",
    "Atrás+cerrar con el botón derecho del ratón. FARU: completar",
    function (I) {
        var window = I.window;
        function handler (e) {
            if (e.button == 2) { // 2==derecho
                e.preventDefault();
                e.stopPropagation();
                window.removeEventListener("click", arguments.callee, true);
                go_back(I.buffer,I.p);
            }
            // si no, nada
        }
        window.addEventListener("click", handler, true);
        I.minibuffer.message("he activádome e iré atrás tras próximo clic.");
    });

Pero va atrás en el búfer original, no en el actual. Y se desactiva. Y actúa también sobre barra de pestañas.

2.9.2 versión mejor, va atrás en el búfer actual, se activa para todos los búfers, dura; funciona muy bien

function clic_derecho(e){
    // va a la página anterior
    if (e.button == 2) { // 2==derecho
        e.preventDefault();
        e.stopPropagation();
        e.currentTarget.goBack();
    }
}
function activa_clic_derecho_especial (buffer) {
    buffer.browser.addEventListener("click", clic_derecho, true);
}
add_hook("create_buffer_hook", activa_clic_derecho_especial);
interactive("desactiva-clic-derecho-especial-en-el-b-actual",
    "Permite que el clic derecho sea tratado por la página del búfer actual (en vez de capturarlo); no requiere recarga",
    function (I) {
        I.window.buffers.current.browser.removeEventListener("click",clic_derecho,true);
    });
// Para desactivar globalmente (en nuevos búfers):
// remove_hook("create_buffer_hook",activa_clic_derecho_especial);

Le falta: matar búfer cuando ya no se puede ir atrás.

2.10 BONUS reabrir la última pestaña cerrada (deshacer el cierre de un búfer)

Tal como hace Firefox.

Cuidado:

  • la pestaña pudo haber sido la última de una ventana; entonces ¿hay que recrear la ventana?
  • hay que restaurar también todo el historial de esa pestaña, para que se pueda volver atrás/adelante como si nada hubiera pasado
  • se podría hacer que descierres sucesivos vayan reabriendo pestañas más viejas, hasta volver a tener todas
  • una pestaña descerrada puede ser cerrada otra vez. Y después descerrada otra vez, etc.
  • creo que es mejor no grabar todo lo descerrable en el fichero de sesiones

Por hacer:

  • [ ] mandar fallo
  • [ ] probar a implementar

2.11 BONUS editor de URL que no codifique los caracteres no ingleses

Ahora se ven URLs muy raras, como:

http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BE%D0%BA%D0%BA%D0%B0%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%9C%D0%B5%D1%81%D0%B5%D1%82%D0%B0

Quiero tecla que muestre los signos Unicode reales.

También afecta esto a signos conocidos para anglófonos: comilla „'“, espacio „ “, …

  • [ ] crear tecla que desescapa, edita y vuelve a escapar

3 sobre velocidad

3.1 una pestaña puede colgar todo el navegador; eso es malo

Al menos en la versión del 22.m12.2009 con xulrunner 1.9.1. Sin plugins.

3.1.1 IS fórmula para reproducir esto

Me pasa cuando tengo muchas pestañas abiertas (ej. >100) y una de ellas está haciendo cálculos complejos o está mal diseñada y simplemente está perdiendo el tiempo (mi tiempo). Entonces se ve el proceso xulrunner-bin con alta carga de CPU (no siempre 100%).

No pasa sólo por abrir conkeror con la página de bienvenida (eso era otro fallo de xulrunner). No es que sea xulrunner (Gecko) quien consume la CPU, sino que es quien permite que la página la consuma.

3.1.1.1 URLs

Páginas que especialmente roban la CPU del visitante (encontradas así tras un caso real):

He descubierto más con el prita que he hecho.

3.1.2 limitar los recursos a cada pestaña

Chromium separa más los páginas y limita sus privilegios; ese enfoque está bien.

Y si ya se acepta que página=programa, también podría correr cada página como un proceso distinto…

3.1.3 BONUS de momento hace falta una forma de ver qué pestaña está consumiendo más CPU

3.1.3.1 trazar sus llamadas a sistema
  • ltrace: lo hice y murió (SIGTRAP).
  • strace: con ello veo demasiada información
  • gdb: veo que está entre cosas de XUL y de JS (obvio), ej. libxul.so y función JS_EvaluateUCScriptForPrincipals

Nada útil.

3.1.3.2 ¿depurar xulrunner?
3.1.3.3 MALFAR pedir en lista; estaría bien integrarlo en Conkeror

SCHEDULED: 24.m12.2009 CLOSED: 15.m01.2010 17:19

  • CONCLUSIÓN escrita el 15.m01.2010 17:19
    de momento parece que no hay interés: no ha habido respuesta

Enviado el 22.m12.2009 12:23

…
  sometimes when I have many tabs open (>100) I notice that Conkeror is using much CPU (e.g. 35%) when idle. CPU usage drops to normal level if by chance I happen to close the right buffer, so it's a matter of a broken webpage, not of Conkeror itself.
  It would be nevertheless useful to know which amount of activity is producing each buffer, similar to what "top" does for processes.
  Can Conkeror provide this debug information?

Y anuncié mi prita.

3.1.3.4 IS he hecho un programita para medir el tiempo de CPU gastado por cada página abierta

3.1.4 soluciones temporales para descubrir cuál es

  • salgo del navegador; se guarda mi sesión en el fichero sessions/auto-save
  • aparto este fichero para entrar en un conkeror vacío
  • voy cargando cada URL de ese fichero, a mano, hasta ver cuál es la que causa la alta carga

Lo he automatizado con un programita.

3.2 BONUS ¿cómo puedo medir la velocidad de renderizado de páginas del motor actual?

Yo veo que va lento y a golpes, pero me gustaría cuantificarlo. Sé que hay cierto tipo de páginas que se le atragantan a Gecko (ya sin Javascript), como ésas del background:fixed cuyo informe de fallo está abierto desde hace mucho…

Con esto lo que quiero es ver si la lentitud de renderizado es debida a mi ordenador o a Gecko; así sabré cuál de los dos toca mejorar.

3.3 motores alternativos a xulrunner que se puedan integrar en la interfaz de Conkeror

3.3.1 minno (con WebKit)

As a sidenote, a few Conkeror developers are working on a WebKit-based browser codenamed Minno (http://sourceforge.net/projects/minno/) which will use Gambit Scheme instead of JavaScript and will probably be lightning-fast in comparison. We are all looking forward to seeing where that project goes!

3.3.2 Xulrunner ha de mejorar el motor JavaScript también

4 estropeos imprevistos y puntuales

4.1 IS la tecla o abre el enlace enfocado, pero lo que yo le asigné fue scroll_up

CLOSED: 06.m11.2009 09:58

Use this .conkerorrc with latest conkeror:

     define_key(content_buffer_normal_keymap, "o", "cmd_scrollPageUp");
     define_key(content_buffer_normal_keymap, "e", "cmd_scrollPageDown");

Open it. Both keys can scroll the web page correctly. Now do the drag+drop action on any link so that it gains focus (you'll see the dashed border). Press "o" then. The link is opened in a new window, instead of scrolling.

Culpable: ./modules/bindings/default/content-buffer/anchor.js:

define_key(content_buffer_anchor_keymap, "o", "follow-new-buffer",
          $browser_object = browser_object_focused_element);

Por tanto se soluciona con:

undefine_key(content_buffer_anchor_keymap, "o"); //era F

4.2 IS no arranca conkeror después de haber actualizado a xulrunner de Debian

CLOSED: 10.m01.2010 23:39

  • CONCLUSIÓN escrita el 10.m01.2010 23:40
    ya lo arreglé para mí; y ya han anunciado algunas correciones para Debian+Ubuntu. Si necesitan alguna prueba más ya me lo dirán
After I upgraded xulrunner 1.9.1.6-1 from Debian's „testing“ archive, conkeror no longer starts:

./contrib/run-conkeror

(xulrunner-bin:22326): GLib-WARNING **: g_set_prgname() called multiple times
Error initializing.
NS_ERROR_XPC_GS_RETURNED_FAILURE: Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]
null()@chrome://conkeror/content/history.js:10
Console error: [JavaScript Error: "conkeror.handle_command_line is not a function" {file: "file:///Werkstatt/conkeror/components/commandline.js" line: 18}]
  Category: XPConnect JavaScript

Mandado a lista

Probando:

# ~/.conkeror.mozdev.org/conkeror/hgwfry3w.default ; for a in *; do conmuta $a; echo ocultado $a, aprieta enter para conkeror; read; conkeror; rm -rf $a; conmuta $a; done
  • Candidatos: places.sqlite compreg.dat extensions.cache extensions.ini extensions.rdf localstore.rdf places.sqlite prefs.js XPC.mfasl xpti.dat
  • Culpable: places.sqlite
  Removing ~/.conkerorrc makes no difference.
  But removing ~/.conkeror.mozdev.org does: without that profile, it starts correctly (and creates a new profile).
  Carefully removing each file independently I found that the file places.sqlite-journal was the culprit:


~/.conkeror.mozdev.org/conkeror/hgwfry3w.default$> ll places.sqlite*
-rw-r--r-- 1 dc dc 21762048 ene  9 04:18 places.sqlite
-rw-r--r-- 1 dc dc      512 ene  9 10:38 places.sqlite-journal

conkeror                             # Doesn't run
sqlite3 places.sqlite3 ".schema"     # Says: Error: disk I/O error
rm places.sqlite-journal
sqlite3 places.sqlite3 ".schema"     # Now it shows its contents (~10 tables)
conkeror                             # And it runs, with my old whole profile


  I don't know why that database is corrupt. Is there something I can do to find it?