|
|
#1 |
|
Member
![]() 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] 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:~$
)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
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
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 09:47 PM. Reason: Extra information |
|
|
|
|
|
#2 |
|
creator of calibre
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,610
Karma: 28549044
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
You need to generate a back trace for me to be able to help you.
info gdb Though for the backtrace to be really useful, you'd have to compile calibre form source, with debugging symbols and then get it to crash. |
|
|
|
| Advert | |
|
|
|
|
#3 |
|
Member
![]() Posts: 13
Karma: 10
Join Date: Nov 2011
Location: The Netherlands
Device: Kindle 3 Wi-Fi
|
Thanks for your quick reply, Kovid.
When I read the download page for Calibre, many dependencies are newer than the ones in Squeeze. It says I need Python 2.7.1, but Debian still uses 2.6. Podofo should be 0.8.2, Debian uses 0.8.0. Calibre needs Qt 4.7.0, but only 4.4.6 is available. I'm afraid that upgrading all those packages is impossible without crashing my system? However, I tried to install Calibre from source, and this is the result: Code:
robert@DEBIAN:~/calibre$ sudo python setup.py install
[sudo] password for robert:
Dropping privileges to those of robert: 1000
Traceback (most recent call last):
File "setup.py", line 99, in <module>
sys.exit(main())
File "setup.py", line 85, in main
command.run_all(opts)
File "/home/robert/calibre/setup/__init__.py", line 163, in run_all
self.run_cmd(self, opts)
File "/home/robert/calibre/setup/__init__.py", line 154, in run_cmd
cmd.pre_sub_commands(opts)
File "/home/robert/calibre/setup/install.py", line 128, in pre_sub_commands
import calibre.utils.config as c
File "/home/robert/calibre/src/calibre/__init__.py", line 15, in <module>
from calibre.constants import (iswindows, isosx, islinux, isfrozen,
File "/home/robert/calibre/src/calibre/constants.py", line 36, in <module>
ispy3 = sys.version_info.major > 2
AttributeError: 'tuple' object has no attribute 'major'
robert@DEBIAN:~/calibre$
Last edited by Thunder007; 11-14-2011 at 10:41 AM. |
|
|
|
|
|
#4 |
|
creator of calibre
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,610
Karma: 28549044
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Yeah, you need a fairly modern system to install calibre from source. If you're determined you could probably do it with a chroot, but that's a lot of work.
|
|
|
|
|
|
#5 |
|
Member
![]() Posts: 13
Karma: 10
Join Date: Nov 2011
Location: The Netherlands
Device: Kindle 3 Wi-Fi
|
I think I'm just going to leave it as it is for the moment. You said chroot is a lot of work (I haven't got any experience with it), and even that is no guaranty. Calibre is still usable, and the crashes don't corrupt the library.
Thanks again, Kovid. |
|
|
|
| Advert | |
|
|
![]() |
| Tags |
| calibre, crash, debian |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Time Hack is not your father's time-travel book | carelmackenbach | Self-Promotions by Authors and Publishers | 5 | 03-19-2012 12:48 PM |
| freebies at National Academies Press - from time to time | sufue | Deals and Resources (No Self-Promotion or Affiliate Links) | 0 | 04-12-2011 03:45 PM |
| Hilton, James: Time and Time Again, v.1, 29 Feb 2008. | hn_88 | BBeB/LRF Books | 0 | 02-29-2008 01:24 PM |
| iLiad An idea to mitigate boot time (and app launch time) -- For future use | Antartica | iRex Developer's Corner | 14 | 11-05-2006 03:16 AM |