digitalmars.D.learn - Mac OS crash, details inside...
- Gary Willoughby (227/227) Jun 13 2013 I get a program crash each time running the following code on
- Jacob Carlborg (7/49) Jun 14 2013 You do know that you usually don't have a /home/ directory on Mac OS X?
- Gary Willoughby (6/10) Jun 14 2013 That's the problem i can't pin down. It writes the above log file
- Gary Willoughby (4/4) Jun 14 2013 In fact i have the same problem reading files too. It only reads
- Sean Kelly (5/6) Jun 17 2013 up to a certain amount of bytes then crashes in the same manner =
- Gary Willoughby (2/3) Jun 17 2013 By running the above code. All the code before opening the file
I get a program crash each time running the following code on MacOS 10.8 (Lion). It seems to run ok on Ubuntu 12.04: import core.sys.posix.sys.stat; import core.sys.posix.unistd; import std.c.stdio; import std.c.stdlib; import std.process; import std.stdio; import std.string; import std.file; int main(string[] args) { pid_t pid, sid; pid = fork(); if (pid < 0) { exit(EXIT_FAILURE); } if (pid > 0) { exit(EXIT_SUCCESS); } umask(0); sid = setsid(); if (sid < 0) { exit(EXIT_FAILURE); } if ((core.sys.posix.unistd.chdir("/")) < 0) { exit(EXIT_FAILURE); } close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); auto logFile = File("/home/gary/Desktop/test.log", "a"); logFile.writeln("Reading file"); string command = format("logger -t %s %s", "hello", "This is a test"); executeShell(command); logFile.writeln("Done"); return 0; } Crash log: Process: main [1091] Path: /private/tmp/*/main Identifier: main Version: 0 Code Type: X86-64 (Native) Parent Process: ??? [1] User ID: 501 Date/Time: 2013-06-13 18:34:59.413 +0100 OS Version: Mac OS X 10.8.4 (12E55) Report Version: 10 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x000000010f70cb08 VM Regions Near 0x10f70cb08: --> __TEXT 000000010f6ea000-000000010f7a9000 [ 764K] r-x/rwx SM=COW /tmp/* __DATA 000000010f7a9000-000000010f813000 [ 424K] rw-/rwx SM=COW /tmp/* Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 main 0x000000010f795e94 D3std5stdio4File6detachMFZv + 32 1 main 0x000000010f795b91 D3std5stdio4File6__dtorMFZv + 13 2 main 0x000000010f796999 D3std5stdio4File7ByChunk11__fieldDtorMFZv + 13 3 main 0x000000010f6ec172 D3std7process133__T11executeImplS108_D3std7process9pipeShellFNfAyaE3std7process8RedirectxHAyaAyaE3std7process6ConfigZS3std7process12ProcessPipesTAyaZ11executeImplFAyaxHAyaAyaE3std7process6ConfigmZS3std7process133__T11executeImplS108_D3std7process9pipeShellFNfAyaE3std7process8RedirectxHAyaAyaE3std7process6ConfigZS3std7process12ProcessPipesTAyaZ11executeImplFAyaxHAyaAyaE3std7process6Con igmZ13ProcessOutput + 466 4 main 0x000000010f78fd39 D3std7process12executeShellFNeAyaxHAyaAyaE3std7process6ConfigmZS3std7process133__T11executeImplS108_D3std7process9pipeShellFNfAyaE3std7process8RedirectxHAyaAyaE3std7process6ConfigZS3std7process12ProcessPipesTAyaZ11executeImplFAyaxHAyaAyaE3std7process6Con igmZ13ProcessOutput + 49 5 main 0x000000010f6eb279 _Dmain + 317 6 main 0x000000010f76b759 D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7runMainMFZv + 33 7 main 0x000000010f76b2a5 D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7tryExecMFMDFZvZv + 45 8 main 0x000000010f76b7a5 D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi6runAllMFZv + 61 9 main 0x000000010f76b2a5 D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7tryExecMFMDFZvZv + 45 10 main 0x000000010f76b259 _d_run_main + 457 11 main 0x000000010f76b088 main + 20 12 libdyld.dylib 0x00007fff8d8147e1 start + 1 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x000000010f70cb00 rbx: 0x000000010f6ec166 rcx: 0x000000010f70cb08 rdx: 0x00007fa32b403bd0 rdi: 0x00007fff50515680 rsi: 0x0000000000000030 rbp: 0x00007fff50514d20 rsp: 0x00007fff50514d10 r8: 0x000000010f8110f0 r9: 0x000000010f8123e0 r10: 0x00000000000003b0 r11: 0x0000000000000206 r12: 0x00007fa32b4039a0 r13: 0x00007fa32b4039c0 r14: 0x0000000000000002 r15: 0x0000000000000001 rip: 0x000000010f795e94 rfl: 0x0000000000010206 cr2: 0x000000010f70cb08 Logical CPU: 1 Binary Images: 0x10f6ea000 - 0x10f7a8ff7 +main (0) <E2E209E1-8709-3E23-9D99-C6001D1DB254> /tmp/*/main 0x7fff6f2ea000 - 0x7fff6f31e93f dyld (210.2.3) <6900F2BA-DB48-3B78-B668-58FC0CF6BCB8> /usr/lib/dyld 0x7fff8c796000 - 0x7fff8c7bbff7 libc++abi.dylib (26) <D86169F3-9F31-377A-9AF3-DB17142052E4> /usr/lib/libc++abi.dylib 0x7fff8c9a2000 - 0x7fff8c9a8ff7 libunwind.dylib (35.1) <21703D36-2DAB-3D8B-8442-EAAB23C060D3> /usr/lib/system/libunwind.dylib 0x7fff8cb46000 - 0x7fff8cb7cfff libsystem_info.dylib (406.17) <4FFCA242-7F04-365F-87A6-D4EFB89503C1> /usr/lib/system/libsystem_info.dylib 0x7fff8d812000 - 0x7fff8d815ff7 libdyld.dylib (210.2.3) <F59367C9-C110-382B-A695-9035A6DD387E> /usr/lib/system/libdyld.dylib 0x7fff8db35000 - 0x7fff8db3bfff libmacho.dylib (829) <BF332AD9-E89F-387E-92A4-6E1AB74BD4D9> /usr/lib/system/libmacho.dylib 0x7fff8dc48000 - 0x7fff8dc4dfff libcache.dylib (57) <65187C6E-3FBF-3EB8-A1AA-389445E2984D> /usr/lib/system/libcache.dylib 0x7fff8e2cd000 - 0x7fff8e2cfff7 libunc.dylib (25) <92805328-CD36-34FF-9436-571AB0485072> /usr/lib/system/libunc.dylib 0x7fff8ea69000 - 0x7fff8ea6afff libsystem_blocks.dylib (59) <D92DCBC3-541C-37BD-AADE-ACC75A0C59C8> /usr/lib/system/libsystem_blocks.dylib 0x7fff8ea6b000 - 0x7fff8ea6cff7 libdnsinfo.dylib (453.19) <14202FFB-C3CA-3FCC-94B0-14611BF8692D> /usr/lib/system/libdnsinfo.dylib 0x7fff8f414000 - 0x7fff8f41cff7 libsystem_dnssd.dylib (379.38.1) <BDCB8566-0189-34C0-9634-35ABD3EFE25B> /usr/lib/system/libsystem_dnssd.dylib 0x7fff906bb000 - 0x7fff906c3fff liblaunch.dylib (442.26.2) <2F71CAF8-6524-329E-AC56-C506658B4C0C> /usr/lib/system/liblaunch.dylib 0x7fff91088000 - 0x7fff91089fff libDiagnosticMessagesClient.dylib (8) <8548E0DC-0D2F-30B6-B045-FE8A038E76D8> /usr/lib/libDiagnosticMessagesClient.dylib 0x7fff927a3000 - 0x7fff927efff7 libauto.dylib (185.4) <AD5A4CE7-CB53-313C-9FAE-673303CC2D35> /usr/lib/libauto.dylib 0x7fff92a95000 - 0x7fff92a9afff libcompiler_rt.dylib (30) <08F8731D-5961-39F1-AD00-4590321D24A9> /usr/lib/system/libcompiler_rt.dylib 0x7fff93016000 - 0x7fff93024ff7 libsystem_network.dylib (77.10) <0D99F24E-56FE-380F-B81B-4A4C630EE587> /usr/lib/system/libsystem_network.dylib 0x7fff93588000 - 0x7fff9358afff libquarantine.dylib (52.1) <143B726E-DF47-37A8-90AA-F059CFD1A2E4> /usr/lib/system/libquarantine.dylib 0x7fff9362c000 - 0x7fff9364eff7 libxpc.dylib (140.43) <70BC645B-6952-3264-930C-C835010CCEF9> /usr/lib/system/libxpc.dylib 0x7fff939a0000 - 0x7fff939a1ff7 libSystem.B.dylib (169.3) <FF25248A-574C-32DB-952F-B948C389B2A4> /usr/lib/libSystem.B.dylib 0x7fff94e00000 - 0x7fff94f1892f libobjc.A.dylib (532.2) <90D31928-F48D-3E37-874F-220A51FD9E37> /usr/lib/libobjc.A.dylib 0x7fff9523b000 - 0x7fff9523bfff libkeymgr.dylib (25) <CC9E3394-BE16-397F-926B-E579B60EE429> /usr/lib/system/libkeymgr.dylib 0x7fff957b5000 - 0x7fff957c3fff libcommonCrypto.dylib (60027) <BAAFE0C9-BB86-3CA7-88C0-E3CBA98DA06F> /usr/lib/system/libcommonCrypto.dylib 0x7fff957d2000 - 0x7fff957edff7 libsystem_kernel.dylib (2050.24.15) <A9F97289-7985-31D6-AF89-151830684461> /usr/lib/system/libsystem_kernel.dylib 0x7fff9595a000 - 0x7fff95a26ff7 libsystem_c.dylib (825.26) <4C9EB006-FE1F-3F8F-8074-DFD94CF2CE7B> /usr/lib/system/libsystem_c.dylib 0x7fff960e1000 - 0x7fff960e2ff7 libremovefile.dylib (23.2) <6763BC8E-18B8-3AD9-8FFA-B43713A7264F> /usr/lib/system/libremovefile.dylib 0x7fff969c7000 - 0x7fff969c8ff7 libsystem_sandbox.dylib (220.3) <B739DA63-B675-387A-AD84-412A651143C0> /usr/lib/system/libsystem_sandbox.dylib 0x7fff969c9000 - 0x7fff969f7ff7 libsystem_m.dylib (3022.6) <B434BE5C-25AB-3EBD-BAA7-5304B34E3441> /usr/lib/system/libsystem_m.dylib 0x7fff96f04000 - 0x7fff96f19ff7 libdispatch.dylib (228.23) <D26996BF-FC57-39EB-8829-F63585561E09> /usr/lib/system/libdispatch.dylib 0x7fff96f47000 - 0x7fff96f96ff7 libcorecrypto.dylib (106.2) <CE0C29A3-C420-339B-ADAA-52F4683233CC> /usr/lib/system/libcorecrypto.dylib 0x7fff9720a000 - 0x7fff97272ff7 libc++.1.dylib (65.1) <20E31B90-19B9-3C2A-A9EB-474E08F9FE05> /usr/lib/libc++.1.dylib 0x7fff975e9000 - 0x7fff975f0fff libcopyfile.dylib (89) <876573D0-E907-3566-A108-577EAD1B6182> /usr/lib/system/libcopyfile.dylib 0x7fff975fd000 - 0x7fff97608fff libsystem_notify.dylib (98.5) <C49275CC-835A-3207-AFBA-8C01374927B6> /usr/lib/system/libsystem_notify.dylib External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 196 thread_create: 1 thread_set_state: 0 VM Region Summary: ReadOnly portion of Libraries: Total=58.9M resident=90.5M(154%) swapped_out_or_unallocated=16777216.0T(29874624397312%) Writable regions: Total=18.4M written=44K(0%) resident=212K(1%) swapped_out=0K(0%) unallocated=18.2M(99%) REGION TYPE VIRTUAL =========== ======= MALLOC 9396K MALLOC guard page 16K STACK GUARD 56.0M Stack 8192K VM_ALLOCATE 1024K __DATA 1020K __LINKEDIT 53.6M __TEXT 5416K shared memory 12K =========== ======= TOTAL 134.1M
Jun 13 2013
On 2013-06-13 19:42, Gary Willoughby wrote:I get a program crash each time running the following code on MacOS 10.8 (Lion). It seems to run ok on Ubuntu 12.04: import core.sys.posix.sys.stat; import core.sys.posix.unistd; import std.c.stdio; import std.c.stdlib; import std.process; import std.stdio; import std.string; import std.file; int main(string[] args) { pid_t pid, sid; pid = fork(); if (pid < 0) { exit(EXIT_FAILURE); } if (pid > 0) { exit(EXIT_SUCCESS); } umask(0); sid = setsid(); if (sid < 0) { exit(EXIT_FAILURE); } if ((core.sys.posix.unistd.chdir("/")) < 0) { exit(EXIT_FAILURE); } close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); auto logFile = File("/home/gary/Desktop/test.log", "a"); logFile.writeln("Reading file"); string command = format("logger -t %s %s", "hello", "This is a test"); executeShell(command); logFile.writeln("Done"); return 0; }You do know that you usually don't have a /home/ directory on Mac OS X? On Mac OS X it's called /Users/. BTW, running that on Mac OS X 10.6.3 does not cause a crash. Although it doesn't seem to print or write anything. -- /Jacob Carlborg
Jun 14 2013
You do know that you usually don't have a /home/ directory on Mac OS X? On Mac OS X it's called /Users/.Yeah, that was me running the same code on Ubuntu.BTW, running that on Mac OS X 10.6.3 does not cause a crash. Although it doesn't seem to print or write anything.That's the problem i can't pin down. It writes the above log file to /var/log/system.log. other than that there is no feedback at all, the program just ends without writing to the open file. It seems to be related to the daemon code as it doesn't happen when that code is commented out.
Jun 14 2013
In fact i have the same problem reading files too. It only reads files up to a certain amount of bytes then crashes in the same manner explained above. Again this only happens when the program runs as a daemon.
Jun 14 2013
On Jun 14, 2013, at 2:49 AM, Gary Willoughby <dev kalekold.net> wrote:In fact i have the same problem reading files too. It only reads files =up to a certain amount of bytes then crashes in the same manner = explained above. Again this only happens when the program runs as a = daemon. Run as a daemon how?=
Jun 17 2013
Run as a daemon how?By running the above code. All the code before opening the file causes the program to run as a daemon.
Jun 17 2013