Skip to content

internal error: awaitEvent: descriptor out of range

My program is crashing at runtime with the error below. The program is a multi threaded network server and the crash happens when around 1000 clients are connected. The crash happens when compiled with -threaded, and also when run interpreted with runghc (without -threaded)

Thanks

cobra@cobra-desktop:~/projects/hs_server_test$ gdb ./Main 
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/cobra/projects/hs_server_test/Main...done.
(gdb) run
Starting program: /home/cobra/projects/hs_server_test/Main 
[Thread debugging using libthread_db enabled]
Starting up...
Listening...
Main: internal error: awaitEvent: descriptor out of range
    (GHC version 7.1.20100925 for i386_unknown_linux)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Program received signal SIGABRT, Aborted.
0x0012d422 in __kernel_vsyscall ()
(gdb) where
#0  0x0012d422 in __kernel_vsyscall ()
#1  0x001f04d1 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x001f3932 in *__GI_abort () at abort.c:92
#3  0x081bf65d in rtsFatalInternalErrorFn ()
#4  0x00307560 in ?? () from /lib/tls/i686/cmov/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) 
Trac metadata
Trac field Value
Version 7.1
Type Bug
TypeOfFailure RuntimeCrash
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Linux
Architecture x86
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information