It is running, just something isn't right until I restart it. Strace just tells me it's broken.
Dbus is running right after I boot:
tc@box:~$ ps faux|awk '$5'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 1.2 0.0 3936 288 ? Ss 03:57 0:00 /sbin/init
root 316 2.6 0.0 4840 4336 ? Ss 03:57 0:01 /sbin/udevd --daemon
root 2425 0.0 0.0 4840 4244 ? S 03:57 0:00 \_ /sbin/udevd --daemon
root 2458 0.0 0.0 4840 4236 ? S 03:57 0:00 \_ /sbin/udevd --daemon
root 577 0.0 0.0 3936 108 ? Ss 03:57 0:00 /sbin/syslogd
root 579 0.0 0.0 3936 100 ? Ss 03:57 0:00 /sbin/klogd
tc 4981 0.0 0.0 4016 2456 tty1 Ss+ 03:57 0:00 -sh
tc 5026 0.0 0.0 100852 640 ? Ssl 03:57 0:00 vmhgfs-fuse -o allow_other .host:/andy-home /mnt/hgfs/andy-home
root 5093 0.0 0.0 3936 108 ? Ss 03:57 0:00 /sbin/udhcpc -b -i eth0 -x hostname:box -p /var/run/udhcpc.eth0.pid
root 5492 4.2 0.6 241364 53344 tty2 Ssl+ 03:57 0:01 /usr/local/lib/xorg/Xorg -nolisten tcp
tc 5496 0.3 0.0 24700 6364 tty1 S 03:57 0:00 flwm
tc 5528 0.7 0.6 232676 49096 tty1 Sl 03:57 0:00 /usr/local/bin/vmtoolsd -n vmusr
tc 5554 0.3 0.1 56376 8664 tty1 S 03:57 0:00 wbar
tc 5574 0.4 0.1 30984 10140 tty1 S 03:57 0:00 \_ urxvt
tc 5575 0.0 0.0 4016 2452 pts/0 Ss 03:57 0:00 \_ sh
tc 5591 0.0 0.0 15092 2820 pts/0 R+ 03:58 0:00 \_ ps faux
tc 5592 0.0 0.0 3936 956 pts/0 S+ 03:58 0:00 \_ awk $5
tc 5560 0.0 0.0 6692 2304 tty1 S 03:57 0:00 dbus-launch --autolaunch 9fc2c0577895299f3544eb305e8e9d31 --binary-syntax --close-stderr
tc 5561 0.0 0.0 5272 2056 ? Ss 03:57 0:00 /usr/local/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
tc 5563 0.0 0.0 230380 5276 ? Sl 03:57 0:00 /usr/local/lib/at-spi2-core/at-spi-bus-launcher
tc 5567 0.0 0.0 5280 2404 ? S 03:57 0:00 \_ /usr/local/bin/dbus-daemon --config-file=/usr/local/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
tc 5569 0.0 0.0 162020 6208 ? Sl 03:57 0:00 /usr/local/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
tc@box:~$
This is what strace says on the first try. Looks OK initially, but then it goes wrong (first bazillion lines snipped):
write(1, "\n", 1
) = 1
write(1, "Resolution: 300dpi\n", 19Resolution: 300dpi
) = 19
write(1, "Mode: color\n", 12Mode: color
) = 12
write(1, "Compression: JPEG\n", 18Compression: JPEG
) = 18
write(1, "Scan area (mm):\n", 16Scan area (mm):
) = 16
write(1, " Top left (x,y): (0.000000mm, 0.000000mm)\n", 43 Top left (x,y): (0.000000mm, 0.000000mm)
) = 43
write(1, " Bottom right (x,y): (215.899994mm, 296.925995mm)\n", 51 Bottom right (x,y): (215.899994mm, 296.925995mm)
) = 51
write(1, " Width: 215.899994mm\n", 22 Width: 215.899994mm
) = 22
write(1, " Height: 296.925995mm\n", 23 Height: 296.925995mm
) = 23
write(1, "Destination(s): file\n", 21Destination(s): file
) = 21
write(1, "Output file: /home/tc/scan3.jpg\n", 32Output file: /home/tc/scan3.jpg
) = 32
write(1, "\nWarming up...", 14
Warming up...) = 14
write(1, "\n", 1
) = 1
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "\10 \10", ) = 3
write(1, "\n", 1
) = 1
write(1, "\nScanning...", 12
Scanning...) = 12
write(1, "\n", 1
) = 1
getpid() = 7396
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(8289), sin_addr=inet_addr("192.168.3.77")}, 16) = 0
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999995})
sendto(4, "POST / HTTP/1.1\r\nHost: http:0\r\nUser-Agent: gSOAP/2.7\r\nContent-Type: application/soap+xml; charset=utf-8\r\nTransfer-Encoding: chunked\r\nConnection: close\r\n\r\n", 154, 0, NULL, 0) = 154
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999998})
sendto(4, "5ee\r\n", 5, 0, NULL, 0) = 5
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999998})
sendto(4, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:SOAP-ENC=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org"..., 1518, 0, NULL, 0) = 1518
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999998})
sendto(4, "\r\n0\r\n\r\n", 7, 0, NULL, 0) = 7
select(5, [4], NULL, NULL, {45, 0}) = 1 (in [4], left {42, 466271})
recvfrom(4, "HTTP/1.1 202 ACCEPTED\r\nServer: gSOAP/2.7\r\nContent-Type: application/soap+xml; charset=utf-8\r\nTransfer-Encoding: chunked\r\nConnection: close\r\n\r\n", 4096, 0, NULL, NULL) = 142
select(5, [4], NULL, NULL, {45, 0}) = 1 (in [4], left {44, 999859})
recvfrom(4, "5C7\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:SOAP-ENC=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w"..., 4096, 0, NULL, NULL) = 1448
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {0, 998341})
recvfrom(4, "</SOAP-ENV:Body></SOAP-ENV:Envelope>\r\n0\r\n\r\n", 4096, 0, NULL, NULL) = 43
close(4) = 0
nanosleep({0, 100000000}, NULL) = 0
getpid() = 7396
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(8289), sin_addr=inet_addr("192.168.3.77")}, 16) = 0
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999994})
sendto(4, "POST / HTTP/1.1\r\nHost: http:0\r\nUser-Agent: gSOAP/2.7\r\nContent-Type: application/soap+xml; charset=utf-8\r\nTransfer-Encoding: chunked\r\nConnection: close\r\n\r\n", 154, 0, NULL, 0) = 154
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999997})
sendto(4, "1f3\r\n", 5, 0, NULL, 0) = 5
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999998})
sendto(4, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:SOAP-ENC=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org"..., 499, 0, NULL, 0) = 499
select(5, NULL, [4], NULL, {45, 0}) = 1 (out [4], left {44, 999998})
sendto(4, "\r\n0\r\n\r\n", 7, 0, NULL, 0) = 7
select(5, [4], NULL, NULL, {45, 0}) = 1 (in [4], left {41, 298280})
recvfrom(4, "HTTP/1.1 200 OK\r\nServer: gSOAP/2.7\r\nContent-Type: application/dime\r\nTransfer-Encoding: chunked\r\nConnection: close\r\n\r\n", 4096, 0, NULL, NULL) = 117
select(5, [4], NULL, NULL, {45, 0}) = 1 (in [4], left {44, 997132})
recvfrom(4, "800\r\n\f \0\0\0\7\0'\0\0\1\314cid:id0\0http://www.w3.org/2003/05/soap-envelope\0<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:SOAP-ENC=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:xsi=\"http:/"..., 4096, 0, NULL, NULL) = 1453
getuid() = 1001
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 5
lseek(5, 0, SEEK_CUR) = 0
fstat(5, {st_mode=S_IFREG|0644, st_size=211, ...}) = 0
read(5, "root:x:0:0:root:/root:/bin/sh\nlp:x:7:7:lp:/var/spool/lpd:/bin/sh\nnobody:x:65534:65534:nobody:/nonexistent:/bin/false\ntc:x:1001:50:Linux User,,,:/home/tc:/bin/sh\nandy:x:1000:1000:Linux User,,,:/home/andy:/bin/sh\n", 4096) = 211
close(5) = 0getpid() = 7396
write(2, "dbus[7396]: ", 12dbus[7396]: ) = 12
write(2, "arguments to dbus_connection_send() were incorrect, assertion \"connection != NULL\" failed in file dbus-connection.c line 3307.\nThis is normally a bug in some application using the D-Bus library.\n", 195arguments to dbus_connection_send() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 3307.
This is normally a bug in some application using the D-Bus library.
) = 195
write(2, "\n", 1
) = 1
write(2, " D-Bus not built with -rdynamic so unable to print a backtrace\n", 64 D-Bus not built with -rdynamic so unable to print a backtrace
) = 64
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
getpid() = 7396
gettid() = 7396
tgkill(7396, 7396, SIGABRT) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=7396, si_uid=1001} ---
+++ killed by SIGABRT +++
Aborted
After I "sudo /usr/local/etc/init.d/dbus restart" hp-scan works as expected. The "your app is buggy" position doesn't hold much water when it works after dbus is restarted.