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_D3std7process9pipeShellFNfAyaE3std7process8RedirectxHAyaAyaE3std7process6ConfigZS3std7process12ProcessPipesTAyaZ11executeImplFAyaxHAyaAyaE3std7process6ConfigmZ13ProcessOutput + 466 4 main 0x000000010f78fd39 D3std7process12executeShellFNeAyaxHAyaAyaE3std7process6ConfigmZS3std7process133__T11executeImplS108_D3std7process9pipeShellFNfAyaE3std7process8RedirectxHAyaAyaE3std7process6ConfigZS3std7process12ProcessPipesTAyaZ11executeImplFAyaxHAyaAyaE3std7process6ConfigmZ13ProcessOutput + 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

Reply via email to