| 
			
			 | 
		#1 | 
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 2 
				Karma: 10 
				Join Date: Dec 2013 
				
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
			
			 
				
				Headless content server confusion
			 
			
			
			Hey there. 
		
	
		
		
		
		
		
		
		
		
		
		
		
			I recently installed calibre (1.13) as a headless content server: Just moved my library to a machine that's always on, installed it completely standalone using Code: 
	sudo python -c "import sys; py3 = sys.version_info[0] > 2; u = __import__('urllib.request' if py3 else 'urllib', fromlist=1); exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read()); main()"
Code: 
	Dec 08 12:35:57 bitdump calibre-server[1243]: Traceback (most recent call last): Dec 08 12:35:57 bitdump calibre-server[1243]: File "site-packages/calibre/library/server/base.py", line 272, in start Dec 08 12:35:57 bitdump calibre-server[1243]: File "site-packages/calibre/library/server/base.py", line 265, in start_cherrypy Dec 08 12:35:57 bitdump calibre-server[1243]: File "site-packages/cherrypy/process/wspbus.py", line 250, in start Dec 08 12:35:57 bitdump calibre-server[1243]: ChannelFailures: IOError(2, 'No such file or directory') Code: 
	/usr/bin/calibre-server --max-cover=600x800 --max-opds-items=30 --max-opds-ungrouped-items=100 --username=calibre --port=8888 --pidfile=/var/run/calibre/calibre-server.pid --with-library=/tank/books Minor sidenote, added but low priority issue: I cannot use --daemonize with calibre-server, which is the reason why that option is absent from my line above. I'd prefer to use that, but .. [bitdump dar]# /usr/bin/calibre-server --max-cover=600x800 --max-opds-items=30 --max-opds-ungrouped-items=100 --username=calibre --port=8888 --pidfile=/var/run/calibre/calibre-server.pid --with-library=/tank/books --daemonize Aborted (core dumped) Last edited by darklajid; 12-08-2013 at 08:02 AM. Reason: Minor addition  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#2 | 
| 
			
			
			
			 creator of calibre 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,609 
				Karma: 28549044 
				Join Date: Oct 2006 
				Location: Mumbai, India 
				
				
				Device: Various 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Most likely that's because something in your environment is different each time. Check the environment variables, check that the directory containing the pid file exists and so on. And if --daemonize is causing a core dump on your server, it points to something fairly serious being messed up, as all --daemonize does is this, 
		
	
		
		
		
		
		
		
		
		
		
		
	
	Code: 
	def daemonize(stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'):
    try:
        pid = os.fork()
        if pid > 0:
            # exit first parent
            sys.exit(0)
    except OSError as e:
        print >>sys.stderr, "fork #1 failed: %d (%s)" % (e.errno, e.strerror)
        sys.exit(1)
    # decouple from parent environment
    os.chdir("/")
    os.setsid()
    os.umask(0)
    # do second fork
    try:
        pid = os.fork()
        if pid > 0:
            # exit from second parent
            sys.exit(0)
    except OSError as e:
        print >>sys.stderr, "fork #2 failed: %d (%s)" % (e.errno, e.strerror)
        sys.exit(1)
    # Redirect standard file descriptors.
    si = file(stdin, 'r')
    so = file(stdout, 'a+')
    se = file(stderr, 'a+', 0)
    os.dup2(si.fileno(), sys.stdin.fileno())
    os.dup2(so.fileno(), sys.stdout.fileno())
    os.dup2(se.fileno(), sys.stderr.fileno())
 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| Advert | |
| 
         | 
    
| 
			
			 | 
		#3 | 
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 2 
				Karma: 10 
				Join Date: Dec 2013 
				
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Hey. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	First of all: Thanks for the feedback and your great work on calibre in general. Two things: I guess you helped me track down the startup issue - it's probably (still investigating) related to /var/run being cleaned after a reboot. So .. thanks and sorry for the noise.. Regarding the core dump: The machine works fine. The only thing I can think of as worth mentioning is that this is a Arch Linux box, running python3 by default (not sure if that might cause trouble). As far as I understood the installation procedure though everything related to calibre should be below /opt now, independent of my system's state of affair? The coredump/backtrace is probably useless? Code: 
	(gdb) bt #0 0x00007f329afa83d9 in raise () from /usr/lib/libc.so.6 #1 0x00007f329afa97d8 in abort () from /usr/lib/libc.so.6 #2 0x00007f32996cb3d3 in ffi_closure_free () from /opt/calibre/lib/libffi.so.4 #3 0x00007f32998df99f in ?? () from /opt/calibre/lib/python2.7/lib-dynload/_ctypes.so #4 0x00007f329ac36ddb in ?? () from /opt/calibre/lib/libpython2.7.so.1.0 #5 0x00007f32998d88b7 in ?? () from /opt/calibre/lib/python2.7/lib-dynload/_ctypes.so #6 0x00007f32998d8aa9 in ?? () from /opt/calibre/lib/python2.7/lib-dynload/_ctypes.so #7 0x00007f329ac5997d in ?? () from /opt/calibre/lib/libpython2.7.so.1.0 #8 0x00007f329ac35183 in ?? () from /opt/calibre/lib/libpython2.7.so.1.0 #9 0x00007f329ac37b30 in ?? () from /opt/calibre/lib/libpython2.7.so.1.0 #10 0x00007f329ac3aaad in _PyModule_Clear () from /opt/calibre/lib/libpython2.7.so.1.0 #11 0x00007f329acadbf1 in PyImport_Cleanup () from /opt/calibre/lib/libpython2.7.so.1.0 #12 0x00007f329acb73db in Py_Finalize () from /opt/calibre/lib/libpython2.7.so.1.0 #13 0x00007f329b3203f5 in execute_python_entrypoint () from /opt/calibre/lib/libcalibre-launcher.so #14 0x00000000004006ff in main ()  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#4 | 
| 
			
			
			
			 creator of calibre 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,609 
				Karma: 28549044 
				Join Date: Oct 2006 
				Location: Mumbai, India 
				
				
				Device: Various 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Yes the binary calibre install does not depend on the system python in anyway.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
            
        
    
| Thread Tools | Search this Thread | 
            
  | 
    
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| Headless Calibre Server | greene48 | Library Management | 17 | 10-28-2013 02:09 AM | 
| Excited! But errors for headless server. | apiontek | Devices | 3 | 08-25-2013 05:07 PM | 
| Calibre server on (headless no X) sheevaplug | junke1990 | Related Tools | 6 | 07-13-2013 09:04 AM | 
| Calibre Headless Server | dearleuk | Library Management | 2 | 12-02-2012 05:04 AM | 
| Headless Calibre Server Setup | godzilla8nj | Related Tools | 4 | 03-10-2010 02:39 PM |