[sslh] sslh on Mac OS X
Yves Rutschle
yves at naryves.com
Fri Mar 11 09:17:18 CET 2011
On Fri, Mar 11, 2011 at 10:41:39AM +0900, Aaron Madlon-Kay
wrote:
> However I did just notice a different console message that
> may help clear things up: The system claims that sslh is
> crashing every time I try to connect to it. I don't know
> if that's true, since I'm not seeing the startup messages
> repeated in sslh's log ("listening on ...", "turning into
> nobody", etc.), but the crash report generated is as
> follows:
It's possible: sslh-fork starts up ("listening on" and
"turning into") and then creates a new process for each
incoming connexion: if the new processes crashes, the main
process is unaffected (which makes sslh-fork robust to all
kinds of problems).
> Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Ok, so segmentation fault, probably due to a bad pointer.
> Thread 0 Crashed: Dispatch queue: com.apple.main-thread
> 0 libSystem.B.dylib 0x00007fff80f7f160 strlen + 16
> 1 libSystem.B.dylib 0x00007fff80f8ab5c __vfprintf + 8144
> 2 libSystem.B.dylib 0x00007fff80f88ceb __vfprintf + 351
> 3 libSystem.B.dylib 0x00007fff80fd7154 vfprintf + 92
> 4 sslh-fork 0x0000000100001b59 0x100000000 + 7001
> 5 sslh-fork 0x0000000100001bc9 0x100000000 + 7113
> 6 sslh-fork 0x0000000100001004 0x100000000 + 4100
> 7 sslh-fork 0x0000000100001142 0x100000000 + 4418
> 8 sslh-fork 0x000000010000229b 0x100000000 + 8859
> 9 sslh-fork 0x0000000100000cac 0x100000000 + 3244
And we only call vfprintf from the log_message functions. So
either I did something wrong in log_message() which happens
to work on Linux and not on OS-X, or a caller to log_message
is passing something wrong (which still works on Linux).
Could you comment out the 'strip' command in the Makefile:
sslh: $(OBJS) sslh-fork.o sslh-select.o Makefile
$(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh-fork sslh-fork.o $(OBJS) $(LIBS)
$(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh-select sslh-select.o $(OBJS) $(LIBS)
#strip sslh-fork sslh-select
and try again? That way we should get the call stack with function names and
we'll know which path leads to the problem, which will make my life easier :)
Cheers,
Y.
More information about the sslh
mailing list