a singal 17 is raised

a singal 17 is raised

  • Written by
    Walter Doekes
  • Published on

When running the iKVM software on the BMC of SuperMicro machines, we regularly see an interesting "singal" typo.

(For the interested, we use a helper script to access the KVM console: ipmikvm. Without it, you need Java support enabled in your browser, and that has always given us trouble. The ipmikvm script logs on to the web interface, downloads the required Java bytecode and runs it locally.)

Connect to somewhere, wait for the KVM console to open, close it, and you might see something like this:

$ ipmikvm 10.x.x.x
attempting login on '10.x.x.x' with user USER
connect failed sd:18
Retry =1
a singal 17 is raised
GetFileDevStr:4051 media_type = 40
GetFileDevStr:4051 media_type = 45
GetFileDevStr:4051 media_type = 40
GetFileDevStr:4051 media_type = 45
GetFileDevStr:4051 media_type = 40
GetFileDevStr:4051 media_type = 45
a singal 17 is raised

Signal 17 would be SIGCHLD (see kill -l) which is the signal a process receives when one of its children exits.

Where does this typo come from? A quick web search does not reveal much. But a grep through the binaries does.

$ cd ~/.local/lib/ipmikvm/iKVM__V1.69.39.0x0
$ unzip iKVM__V1.69.39.0x0.jar
$ grep -r singal .
Binary file ./libiKVM64.so matches

Where exactly is this?

$ objdump -s -j .rodata libiKVM64.so | grep singal
 27690 4d697363 00612073 696e6761 6c202564  Misc.a singal %d

Okay, at 0x27695 (27690 + 5) there's the text. Let's see if we can find some more:

$ objdump -Cd libiKVM64.so | grep -C3 27695

0000000000016f90 <signal_handle(int)@@Base>:
   16f90: 89 fe                 mov    %edi,%esi
   16f92: 48 8d 3d fc 06 01 00  lea    0x106fc(%rip),%rdi        # 27695 <typeinfo name for RMMisc@@Base+0x8>
   16f99: 31 c0                 xor    %eax,%eax
   16f9b: e9 98 71 ff ff        jmpq   e138 <printf@plt>

So, it's indeed used in a signal handler. (Address taken from the instruction pointer 0x16f99 plus offset 0x106fc.) And at least one person got the signal spelling right.

Was this relevant? No. But it's fun to poke around in the binaries. And by now we've gotten so accustomed to this message that I hope they never fix it.


Back to overview Newer post: umount -l / needs --make-slave Older post: mariabackup / selective table restore