[Eisfair] Telegram Can not read config '/home/telegramd/.telegram-cli/config': error 'file I/O error' on the line 0

Marcus Roeckrath marcus.roeckrath at gmx.de
So Nov 12 10:55:40 CET 2017


Hallo,

Marcus Roeckrath wrote:

> strace -o /tmp/telegramd.trace /usr/bin/telegram-cli

Friedhold hat mir den Trace zugesandt, allerdings hilft der mir leider doch
nicht weiter:

mkdir("/home/telegramd/.telegram-cli", 0700) = -1 EEXIST (File exists)
access("/home/telegramd/.telegram-cli/config", R_OK) = 0
open("/home/telegramd/.telegram-cli/config", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0600, st_size=65, ...}) = 0

Das vorstehende sieht für mich ganz normal und gut aus.

Ohne aber den Inhalt zu lesen, wird der Filehandle sofort wieder
geschlossen.

close(3)                                = 0

und 

write(2, "Can not read config '/home/teleg"..., 97) = 97

die Fehlermeldung auf der Konsole ausgegeben.

Nun habe ich mal in die telegram-cli-Source reingeschaut, um zu sehen, ob
der irgendetwas spezielles testet:

void parse_config (void) {
  //config_filename = make_full_path (config_filename);
  
  config_t conf;
  config_init (&conf);
  if (config_read_file (&conf, config_filename) != CONFIG_TRUE) {
    fprintf (stderr, "Can not read config '%s': error '%s' on the line
%d\n", config_filename, config_error_text (&conf), config_error_line
(&conf));
    exit (2);

IMHO entscheidend wäre nun, warum die Funktion config_read_file. Das ist
eine Funktion der libconfig, also auch deren Source betrachtet, aber das
ist zu komplex, um jetzt anhand des vermutlich von der libconfig
zurückgelieferten CONFIG_FALSE den fehlschlagenden Test zu finden.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair