Compiled software can not read UTF-8 characters using readFile when run via Upstart
Honestly I dont know if this is a problem with Upstart or ghc.
I'm Using Ubuntu 14
Create a software that reads from a file containing UTF-8 characters. Compile the program. Running the program from the terminal works but not if you run it via Upstart. It will crash with the following error: "hGetContents: invalid argument (invalid byte sequence)"
Minimal Example: Main.hs:
module Main where
main :: IO ()
main = readFile "ex.txt" >>= putStr
ex.txt:
å
Place ex.txt and the compiled program "Comp" in the same directory "/the/path/"
/etc/init/bug-test.conf:
start on runlevel [2345]
stop on runlevel [^2345]
chdir /the/path/
exec ./Comp
If you run ./Comp from the terminal it works. But if you run "sudo service bug-test start" and then check "/var/log/upstart/bug-test.log" you will see that it has crashed.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.10.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |