[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 23:42:05 CET 2017
Hallo Jürgen, hallo Friedhold,
Marcus Roeckrath wrote:
>> strace -o /tmp/telegramd.trace /usr/bin/telegram-cli
Machst Du bitte auch mal den trace und schickst mir den zu.
Bei erneuter Betrachtung auch der libconfig-Source, kommt mir da etwas
Spanisch vor, wobei ich mir die aktuelle Source von libconfig besorgt habe,
ich aber nicht weiß, aus welcher Source unser libconfig-Paket entstanden
ist.
> fstat64(3, {st_mode=S_IFREG|0600, st_size=65, ...}) = 0
Dies wird in der libconfig aufgerufen und zwar in folgendem Code:
int ret, ok = 0;
FILE *stream = fopen(filename, "rt");
if(stream != NULL)
{
// On some operating systems, fopen() succeeds on a directory.
int fd = fileno(stream);
struct stat statbuf;
if(fstat(fd, &statbuf) == 0)
{
// Only proceed if this is not a directory.
if(!S_ISDIR(statbuf.st_mode))
ok = 1;
}
}
if(!ok)
{
if(stream != NULL)
fclose(stream);
config->error_text = __io_error;
config->error_type = CONFIG_ERR_FILE_IO;
return(CONFIG_FALSE);
}
Komisch ist für mich folgendes:
Es wird laut strace fstat64 ausgeführt, laut libconfig-Code fstat. fstat64
benötigt aber eine stat64-Datenstruktur und nicht, wie fstat und auch im
Code definiert eine stat-Struktur.
Unterschied der beiden Strukturen ist der Support für große Dateien (>2GB).
@Friedhold:
Was sagt:
tune2fs -l /dev/sda3 | grep features
Nach der Fehlermeldung von telegram-cli wird das übergebene File als Dir
erkannt und daher ein Fehlercode zurückgeliefert, der wiederum in
telegram-cli zum Abbruch führt. Aufgrund des Wortlautes der Fehlermeldung
kommt auch alleine die Stelle in Frage.
Daher, Jürgen, mache bitte mal obigen trace, damit ich den mit Friedholds
vergleichen kann.
@Holger:
Kannst Du mir das verwandte Source-Archiv/src-RPM für unser libconfig-Paket
zusenden?
--
Gruss Marcus
Mehr Informationen über die Mailingliste Eisfair