Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Library Management

Notices

Reply
 
Thread Tools Search this Thread
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
Old 11-13-2011, 10:15 PM   #2
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,843
Karma: 22666666
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.
kovidgoyal is offline   Reply With Quote
Advert
Old 11-14-2011, 09:36 AM   #3
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
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 09:41 AM.
Thunder007 is offline   Reply With Quote
Old 11-14-2011, 11:01 AM   #4
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,843
Karma: 22666666
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.
kovidgoyal is offline   Reply With Quote
Old 11-14-2011, 04:54 PM   #5
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
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.
Thunder007 is offline   Reply With Quote
Advert
Reply

Tags
calibre, crash, debian


Forum Jump

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 11:48 AM
freebies at National Academies Press - from time to time sufue Deals and Resources (No Self-Promotion or Affiliate Links) 0 04-12-2011 02:45 PM
Hilton, James: Time and Time Again, v.1, 29 Feb 2008. hn_88 BBeB/LRF Books (offline) 0 02-29-2008 12: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 02:16 AM


All times are GMT -4. The time now is 10:17 AM.


MobileRead.com is a privately owned, operated and funded community.