On Wed, Jan 19, 2005 at 06:35:14PM +0100, Ludovic Rousseau wrote: > [21 lines, 96 words, 626 characters] Top characters: erotsian > > Le Tuesday 18 January 2005 à 22:23:24, Jeff Abrahamson a écrit: > > Running pilot-xfer -l appears to accurately list the pilot's > > databases. > > If pilot-xfer -l works correctly the serial port should be working > correctly.
Yes, it just seemed close enough to file it together, since it did occur just after an upgrade to a version of kernel 2.27. Maybe I should have submitted a separate bug. > The original bug reporter could not even use pilot-xfer -l correctly. > > > Running jpilot -d doesn't show anything that appears interesting or > > out of the ordinary. > > Yes but it gives an error message, no? > > I guess it is just a configuration problem in jpilot. Jpilot hasn't changed configuration since the dist-upgrade, although it is a new version of jpilot. (I don't know how to figure out what the old one was.) It's not clear to me what in jpilot to fiddle with. I tried port name switching and fiddling with transfer speed. Jpilot -d shows just a couple lines (below). The handheld itself (a Palm III) goes as far as "identifying user" and then eventually says connection lost. jpilot -d output from just before hitting the "sync" button: ================================================================ setting PILOTRATE=[115200] pref port=[/dev/pilot] num_backups=2 forking sync process sync:calling load_plugins opening dir /usr/lib/jpilot/plugins/ found plugin libbackup.so opened plugin [/usr/lib/jpilot/plugins/libbackup.so] This plugin is version (0.99). getting plugin_get_name getting plugin_get_menu_name getting plugin_get_help_name getting plugin_get_db_name plugin name is [Backup 0.51] opening dir /home/jeff/.jpilot/plugins/ **************************************** Syncing on device /dev/pilot Press the HotSync button now **************************************** dlp_ReadSysInfo error Exiting with status SYNC_ERROR_PI_CONNECT Finished sync child exiting caught signal SIGCHLD ================================================================ The handheld goes to "identifying user" and jpilot pauses after the second row of asterisks. After a few seconds the "dlp_ReadSysInfo error" and following appears, no apparent change for handheld. In the status area of jpilot I see (after the standard press button now message) this message: ---------------------------------------------------------------- dlp_ReadSysInfo error Exiting with status SYNC_ERROR_PI_CONNECT Finished ---------------------------------------------------------------- I've attached the output of an strace of the child process from invoking strace -ff -F -o jpilot-strace -r jpilot -d HTH. -- Jeff Jeff Abrahamson <http://www.purple.com/jeff/> +1 215/837-2287 GPG fingerprint: 1A1A BA95 D082 A558 A276 63C6 16BF 8C4C 0D1D AE4B
0.001082 --- SIGSTOP (Stopped (signal)) @ 0 (0) --- 0.000335 write(3, "sync:calling load_plugins\n", 26) = 26 0.000146 write(1, "sync:calling load_plugins\n", 26) = 26 0.000201 write(3, "opening dir /usr/lib/jpilot/plug"..., 37) = 37 0.000045 write(1, "opening dir /usr/lib/jpilot/plug"..., 37) = 37 0.000085 open("/usr/lib/jpilot/plugins/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 10 0.000061 fstat64(10, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 0.000059 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 0.000485 getdents64(10, /* 3 entries */, 4096) = 80 0.000130 write(3, "found plugin libbackup.so\n", 26) = 26 0.000045 write(1, "found plugin libbackup.so\n", 26) = 26 0.025945 write(3, "opened plugin [/usr/lib/jpilot/p"..., 53) = 53 0.000893 write(1, "opened plugin [/usr/lib/jpilot/p"..., 53) = 53 0.000218 write(3, "This plugin is version (0.99).\n", 31) = 31 0.000047 write(1, "This plugin is version (0.99).\n", 31) = 31 0.000090 write(3, "getting plugin_get_name\n", 24) = 24 0.000040 write(1, "getting plugin_get_name\n", 24) = 24 0.000107 write(3, "getting plugin_get_menu_name\n", 29) = 29 0.000042 write(1, "getting plugin_get_menu_name\n", 29) = 29 0.000090 write(3, "getting plugin_get_help_name\n", 29) = 29 0.000041 write(1, "getting plugin_get_help_name\n", 29) = 29 0.000088 write(3, "getting plugin_get_db_name\n", 27) = 27 0.000040 write(1, "getting plugin_get_db_name\n", 27) = 27 0.000449 write(3, "plugin name is [Backup 0.51]\n", 29) = 29 0.000062 write(1, "plugin name is [Backup 0.51]\n", 29) = 29 0.005409 getdents64(10, /* 0 entries */, 4096) = 0 0.000120 close(10) = 0 0.000091 write(3, "opening dir /home/jeff/.jpilot/p"..., 40) = 40 0.000051 write(1, "opening dir /home/jeff/.jpilot/p"..., 40) = 40 0.000128 open("/home/jeff/.jpilot/plugins/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory) 0.000082 open("/home/jeff/.jpilot/jpilot.plugins", O_RDONLY) = 10 0.000051 fstat64(10, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 0.000062 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40a97000 0.000058 read(10, "", 4096) = 0 0.000034 close(10) = 0 0.000027 munmap(0x40a97000, 4096) = 0 0.000051 write(3, "********************************"..., 41) = 41 0.000044 write(1, "********************************"..., 41) = 41 0.000095 getpid() = 16586 0.000080 write(5, "100:****************************"..., 47) = 47 0.000056 fsync(5) = -1 EINVAL (Invalid argument) 0.000064 write(3, " Syncing on device /dev/pilot\n", 30) = 30 0.000042 write(1, " Syncing on device /dev/pilot\n", 30) = 30 0.000087 getpid() = 16586 0.000029 write(5, "100: Syncing on device /dev/pilo"..., 36) = 36 0.000036 fsync(5) = -1 EINVAL (Invalid argument) 0.000041 write(3, " Press the HotSync button now\n", 30) = 30 0.000041 write(1, " Press the HotSync button now\n", 30) = 30 0.005190 getpid() = 16586 0.000848 write(5, "100: Press the HotSync button no"..., 36) = 36 0.000048 fsync(5) = -1 EINVAL (Invalid argument) 0.000097 write(3, "********************************"..., 41) = 41 0.000048 write(1, "********************************"..., 41) = 41 0.000134 getpid() = 16586 0.000031 write(5, "100:****************************"..., 47) = 47 0.000036 fsync(5) = -1 EINVAL (Invalid argument) 0.000137 open("/dev/null", O_RDWR) = 10 0.000154 readlink("/dev/pilot", "ttyS0", 4096) = 5 0.000119 readlink("/dev/ttyS0", 0xbfffa6e0, 4096) = -1 EINVAL (Invalid argument) 0.000194 open("/dev/pilot", O_RDWR|O_NONBLOCK) = 11 0.000165 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000086 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000091 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000077 ioctl(11, SNDCTL_TMR_START or TCSETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000041 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000047 fcntl64(11, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) 0.000033 fcntl64(11, F_SETFL, O_RDWR) = 0 0.000048 dup2(11, 10) = 10 0.000041 close(11) = 0 0.000041 ioctl(10, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000039 ioctl(10, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000037 ioctl(10, SNDCTL_TMR_STOP or TCSETSW, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000041 ioctl(10, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000061 select(11, [10], NULL, NULL, NULL) = 1 (in [10]) 0.478009 dup(10) = 11 0.000054 select(12, [11], NULL, NULL, NULL) = 1 (in [11]) 0.000107 read(11, "\276", 1) = 1 0.000147 time(NULL) = 1106192613 0.000028 time(NULL) = 1106192613 0.000054 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000097 read(11, "\357\355", 2) = 2 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0", 7) = 5 0.000035 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.008787 read(11, "y\34", 2) = 2 0.000034 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\20\t", 2) = 2 0.000051 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.009604 read(11, "\276\357\355", 3) = 3 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0", 7) = 5 0.000034 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.010094 read(11, "z\35", 2) = 2 0.000038 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000093 read(11, "U{", 2) = 2 0.000035 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\276\357\355", 3) = 3 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0{\36", 7) = 7 0.000035 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "", 0) = 0 0.000030 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "V)", 2) = 2 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.008953 read(11, "\276\357\355", 3) = 3 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "\3\3\3\0\0", 7) = 5 0.000034 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.060058 read(11, "|\37", 2) = 2 0.000051 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000099 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\337\237", 2) = 2 0.000040 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "\276\357\355", 3) = 3 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0} ", 7) = 7 0.000035 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000102 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000132 read(11, "+\22", 2) = 2 0.000034 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\276\357\355", 3) = 3 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0~!", 7) = 7 0.000035 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "n`", 2) = 2 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\276\357\355", 3) = 3 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0\177\"", 7) = 7 0.000035 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "", 0) = 0 0.000030 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "m2", 2) = 2 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\276\357\355", 3) = 3 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3\3\3\0\0\200#", 7) = 7 0.000036 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000093 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "~\354", 2) = 2 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\276\357\355", 3) = 3 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\3", 7) = 1 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.012809 read(11, "\3\3\0\0\201$", 6) = 6 0.000051 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "", 0) = 0 0.000032 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "=:", 2) = 2 0.000040 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.004017 read(11, "\276\357\355", 3) = 3 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000095 read(11, "\3\3\3\0\0", 7) = 5 0.000034 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.009860 read(11, "\202%", 2) = 2 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000093 read(11, "", 0) = 0 0.000031 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "xH", 2) = 2 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 860000}) 0.139732 read(11, "\276\357\355", 3) = 3 0.000046 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000124 read(11, "\3\3\2\0\16", 7) = 5 0.000034 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.009744 read(11, "\377\257", 2) = 2 0.000033 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {32, 0}) 0.000094 read(11, "\1\300\0\n\1\0\1\1\0\0\0\0\341\0", 14) = 14 0.000039 select(12, [11], NULL, NULL, {32, 0}) = 1 (in [11], left {31, 990000}) 0.009834 read(11, ":\266", 2) = 2 0.000064 time(NULL) = 1106192614 0.000035 select(12, NULL, [11], NULL, {32, 0}) = 1 (out [11], left {32, 0}) 0.000120 write(11, "\276\357\355\3\3\2\0\4\377\245\2\300\0\n\32\205", 16) = 16 0.000081 nanosleep({0, 26000}, NULL) = 0 0.019698 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000098 write(11, "\276\357\355\3\3\2\0\16\377\257\1\300\0\n\2\200\0\0\0\0"..., 26) = 26 0.000069 nanosleep({0, 36000}, NULL) = 0 0.019807 select(12, [11], NULL, NULL, {2, 0}) = 1 (in [11], left {1, 980000}) 0.020059 read(11, "\276\357\355", 3) = 3 0.000036 select(12, [11], NULL, NULL, {2, 0}) = 1 (in [11], left {2, 0}) 0.000095 read(11, "\3\3\2\0\4", 7) = 5 0.000034 select(12, [11], NULL, NULL, {2, 0}) = 1 (in [11], left {1, 990000}) 0.009804 read(11, "\377\245", 2) = 2 0.000033 select(12, [11], NULL, NULL, {2, 0}) = 1 (in [11], left {2, 0}) 0.000095 read(11, "\2\300\0\n", 4) = 4 0.000033 select(12, [11], NULL, NULL, {2, 0}) = 1 (in [11], left {2, 0}) 0.000094 read(11, "\32\205", 2) = 2 0.000037 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000049 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon -echo ...}) = 0 0.000038 ioctl(11, SNDCTL_TMR_STOP or TCSETSW, {B57600 -opost -isig -icanon -echo ...}) = 0 0.000043 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B57600 -opost -isig -icanon -echo ...}) = 0 0.000039 select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout) 0.049599 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000100 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000071 nanosleep({0, 34000}, NULL) = 0 0.019737 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887542 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000112 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000081 nanosleep({0, 34000}, NULL) = 0 0.019635 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887450 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000109 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000081 nanosleep({0, 34000}, NULL) = 0 0.019731 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887519 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000112 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000081 nanosleep({0, 34000}, NULL) = 0 0.019646 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887460 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000112 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000081 nanosleep({0, 34000}, NULL) = 0 0.019710 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887470 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000113 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000081 nanosleep({0, 34000}, NULL) = 0 0.019635 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887526 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000112 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000082 nanosleep({0, 34000}, NULL) = 0 0.019638 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887482 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000112 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000081 nanosleep({0, 34000}, NULL) = 0 0.019672 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887448 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000112 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000079 nanosleep({0, 34000}, NULL) = 0 0.019678 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887293 select(12, NULL, [11], NULL, {2, 0}) = 1 (out [11], left {2, 0}) 0.000113 write(11, "\276\357\355\3\3\2\0\f\1\257\1\300\0\10\22\1 \4\0\1\0\3"..., 24) = 24 0.000080 nanosleep({0, 34000}, NULL) = 0 0.019682 select(12, [11], NULL, NULL, {2, 0}) = 0 (Timeout) 0.887548 write(3, "dlp_ReadSysInfo error\n", 22) = 22 0.000104 write(1, "dlp_ReadSysInfo error\n", 22) = 22 0.000220 getpid() = 16586 0.000031 write(5, "100:dlp_ReadSysInfo error\n\0\n", 28) = 28 0.000091 fsync(5) = -1 EINVAL (Invalid argument) 0.000085 close(11) = 0 0.000161 write(3, "Exiting with status SYNC_ERROR_P"..., 42) = 42 0.000047 write(1, "Exiting with status SYNC_ERROR_P"..., 42) = 42 0.000168 getpid() = 16586 0.000040 write(5, "100:Exiting with status SYNC_ERR"..., 48) = 48 0.000103 fsync(5) = -1 EINVAL (Invalid argument) 0.000055 write(3, "Finished\n", 9) = 9 0.000109 write(1, "Finished\n", 9) = 9 0.018678 getpid() = 16586 0.000132 write(5, "100:Finished\n\0\n", 15) = 15 0.000047 fsync(5) = -1 EINVAL (Invalid argument) 0.000196 write(3, "sync child exiting\n", 19) = 19 0.000052 write(1, "sync child exiting\n", 19) = 19 0.000365 exit_group(0) = ?