View Single Post
Old 11-13-2011, 02:36 PM   #1
Thunder007
Member
Thunder007 began at the beginning.
 
Thunder007's Avatar
 
Posts: 13
Karma: 10
Join Date: Nov 2011
Location: The Netherlands
Device: Kindle 3 Wi-Fi
Calibre crashes from time to time

Hello,

Sometimes Calibre (binary install - latest version [0.8.26]) crashes. It happens when I try to apply downloaded metadata, when using the "Extract ISBN" plugin and when I add books.

I tried to run Calibre in debug mode, but the log doesn't show any problems. My PC is running Debian Squeeze (32 bit) and when I check my system logs I only see this error after Calibre crashes:
Code:
[ 6426.668447] calibre[25514]: segfault at 0 ip (null) sp bff296ec error 4 in calibre[8048000+1000]
I searched for this error but I couldn't find a solution. Could someone offer some assistance?

Edit: I read about strace, perhaps that could provide some more information?
Code:
robert@DEBIAN:~$ strace calibre
execve("/usr/bin/calibre", ["calibre"], [/* 34 vars */]) = 0
brk(0)                                  = 0x850d000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7718000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=81117, ...}) = 0
mmap2(NULL, 81117, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7704000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320m\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1323460, ...}) = 0
mmap2(NULL, 1333608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75be000
mmap2(0xb76fe000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13f) = 0xb76fe000
mmap2(0xb7701000, 10600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7701000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75bd000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb75bd8d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb76fe000, 8192, PROT_READ)   = 0
mprotect(0xb7736000, 4096, PROT_READ)   = 0
munmap(0xb7704000, 81117)               = 0
getpid()                                = 3051
rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
geteuid32()                             = 1000
brk(0)                                  = 0x850d000
brk(0x852e000)                          = 0x852e000
getppid()                               = 3050
stat64("/home/robert", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/bin/calibre", O_RDONLY)      = 3
fcntl64(3, F_DUPFD, 10)                 = 10
close(3)                                = 0
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x8056520, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
read(10, "#!/bin/sh\npath=`readlink -f $0`\n"..., 8192) = 368
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb75bd938) = 3052
close(4)                                = 0
read(3, "/opt/calibre/calibre\n", 128)  = 21
read(3, "", 128)                        = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 3052
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb75bd938) = 3053
close(4)                                = 0
read(3, "/opt/calibre\n", 128)          = 13
read(3, "", 128)                        = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 3053
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb75bd938) = 3054
wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGILL}], 0, NULL) = 3054
--- SIGCHLD (Child exited) @ 0 (0) ---
write(2, "Illegal instruction\n", 20Illegal instruction
)   = 20
read(10, "", 8192)                      = 0
exit_group(132)                         = ?
robert@DEBIAN:~$
I also read that strace -f could be useful, but that command produces a huge output (almost 170.000 lines )
These lines show up often:
Code:
6035  gettimeofday({1321222402, 200622}, NULL) = 0
6035  stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0
6035  stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0
6035  stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0
6035  stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0
6035  stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0
6035  stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2917, ...}) = 0
Code:
6057  gettimeofday({1321222401, 741607}, NULL) = 0
Code:
6049  fstat64(21, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
And No such file or directory lines such as:
Code:
6035  stat64("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
6035  stat64("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__.py", 0xbfadda5c) = -1 ENOENT (No such file or directory)
6035  stat64("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__.pyo", {st_mode=S_IFREG|0644, st_size=136, ...}) = 0
6035  stat64("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__", 0xbfadea50) = -1 ENOENT (No such file or directory)
6035  open("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
6035  open("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__module.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
6035  open("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
6035  open("/opt/calibre/lib/python2.7/site-packages/calibre/devices/jetbook/__init__.pyo", O_RDONLY|O_LARGEFILE) = 9
This is the last part of the log (strace -f):
Code:
6045  write(21, "\0\0+\221", 4)         = 4
6045  _llseek(21, 10836, [10836], SEEK_SET) = 0
6045  write(21, "\r\0\0\0\35\0\375\0\1\325\1\355\2\10\2#\2>\2Y\2t\2\217\2\252\2\305\2\340\2\370"..., 1024) = 1024
6045  _llseek(21, 11860, [11860], SEEK_SET) = 0
6045  write(21, "\21\0032\323", 4)      = 4
6045  futex(0xb1a4ba8, FUTEX_WAKE_PRIVATE, 1) = 1
6035  <... futex resumed> )             = 0
6045  futex(0x880ec58, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
6035  futex(0x880ec58, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
6045  <... futex resumed> )             = 0
6035  <... futex resumed> )             = -1 EAGAIN (Resource temporarily unavailable)
6045  futex(0xb1a4b90, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
6035  clock_gettime(CLOCK_MONOTONIC, {17360, 84665378}) = 0
6035  uname({sys="Linux", node="DEBIAN", ...}) = 0
6035  poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLIN|POLLOUT}])
6035  read(9, "\34\0\325\371\234\16\340\3?\1\0\0\267\344\10\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 448
6035  writev(9, [{"\22\0\n\0\234\16\340\3\214\1\0\0\214\1\0\0\10\0\30\0\20\0\0\0l\0\5\0\0\0\0\0"..., 896}, {NULL, 0}, {"", 0}], 3) = 896
6035  poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
6035  read(9, "\34\0\326\371\234\16\340\3\214\1\0\0\325\344\10\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
6035  read(9, "\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366\377\366\366\366\377\367\367\367\377\370\370\370\377\370\370\370\377"..., 61664) = 61664
6035  read(9, 0x94dcb90, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
6035  poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
6035  writev(9, [{"\22\0\10@v\26\340\3\32\1\0\0\6\0\0\0 \0\30\0\2@\0\0", 24}, {"\200\0\0\0\200\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65544}, {"", 0}], 3) = 65568
6035  poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
6035  writev(9, [{"\24\0\6\0v\26\340\3#\0\0\0#\0\0\0\0\0\0\0\t\0\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
6035  poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
6035  read(9, "\34\0\364\371v\26\340\3\32\1\0\0\326\344\10\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 100
6035  read(9, 0x94dcb90, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
6035  poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
6035  writev(9, [{"\22\0\17\0v\26\340\3#\0\0\0#\0\0\0 \0\0\0\t\0\0\0G\0\0\0\1\0\0\0"..., 208}, {NULL, 0}, {"", 0}], 3) = 208
6035  poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
6035  read(9, "\34\0\366\371v\26\340\3#\0\0\0\327\344\10\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 128
6035  read(9, 0x94dcb90, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
6035  poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
6035  writev(9, [{"\24\0\6\0\234\16\340\3\215\1\0\0!\0\0\0\0\0\0\0@B\17\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
6035  poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
6035  read(9, "\1\0\375\371\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32
6035  read(9, 0x94dcb90, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
6035  brk(0xd650000)                    = 0xd650000
6035  --- SIGSEGV (Segmentation fault) @ 0 (0) ---
6049  <... ???? resumed> )              = ? <unavailable>
6058  +++ killed by SIGSEGV +++
6057  +++ killed by SIGSEGV +++
6056  +++ killed by SIGSEGV +++
6050  +++ killed by SIGSEGV +++
6049  +++ killed by SIGSEGV +++
6048  +++ killed by SIGSEGV +++
6047  +++ killed by SIGSEGV +++
6046  +++ killed by SIGSEGV +++
6045  +++ killed by SIGSEGV +++
6032  <... wait4 resumed> [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], 0, NULL) = 6035
6032  --- SIGCHLD (Child exited) @ 0 (0) ---
6032  write(2, "Segmentation fault\n", 19) = 19
6032  read(10, "", 8192)                = 0
6032  exit_group(139)                   = ?

Last edited by Thunder007; 11-13-2011 at 08:47 PM. Reason: Extra information
Thunder007 is offline   Reply With Quote