# newsbeuter sends SIGBUS



## trutlze (Mar 6, 2012)

Hi,

I've got a problem with www/newsbeuter on FreeBSD 9.0 RELEASE. When it comes to the situation to load a feed that's not available it get's a SIGBUS signal. I can't remember to have had this problem on 8.2 STABLE from autumn last year (can't remember the exact date of src-sync).

gdb()'s backtrace shows this

```
0x00000008024b6e31 in _malloc_postfork () from /lib/libc.so.7
(gdb) bt
#0  0x00000008024b6e31 in _malloc_postfork () from /lib/libc.so.7
#1  0x00000008024b1159 in realloc () from /lib/libc.so.7
#2  0x00000008024b1415 in free () from /lib/libc.so.7
#3  0x0000000000472ab2 in newsbeuter::rss_parser::download_http (this=0x16, uri=Variable "uri" is not available.
) at basic_string.h:238
#4  0x0000000000472d07 in newsbeuter::rss_parser::retrieve_uri (this=0x7fffff9fcbf0, uri=@0x7fffff9fcbf0) at src/rss_parser.cpp:123
#5  0x0000000000473117 in newsbeuter::rss_parser::parse (this=0x7fffff9fcbf0) at src/rss_parser.cpp:34
#6  0x000000000043f618 in newsbeuter::controller::reload (this=0x7fffffffd300, pos=0, max=Variable "max" is not available.
) at src/controller.cpp:723
#7  0x000000000044008d in newsbeuter::controller::reload_range (this=0x7fffffffd300, start=Variable "start" is not available.
) at src/controller.cpp:795
#8  0x0000000000440615 in newsbeuter::controller::reload_all (this=0x7fffffffd300, unattended=Variable "unattended" is not available.
) at src/controller.cpp:827
#9  0x000000000045820e in newsbeuter::downloadthread::run (this=0x80353deb0) at src/downloadthread.cpp:24
#10 0x00000000004edec9 in newsbeuter::run_thread (p=0x80353deb0) at src/thread.cpp:45
#11 0x000000080098c6e3 in pthread_create () from /lib/libthr.so.3
#12 0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffff9fd000: Bad address.
```

truss() is noting the following:

```
sendto(5,"GET /feed.rss HTTP/1.1\r\nUser-A"...,219,0x20000,NULL,0x0) = 219 (0xdb)
clock_gettime(4,{15129.287223379 })              = 0 (0x0)
poll({5/POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND},1,0) = 0 (0x0)
poll({5/POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND},1,0) = 0 (0x0)
clock_gettime(4,{15129.287332985 })              = 0 (0x0)
clock_gettime(4,{15129.287359611 })              = 0 (0x0)
clock_gettime(4,{15129.287389980 })              = 0 (0x0)
poll({5/POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND},1,1000) = 1 (0x1)
poll({5/POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND},1,0) = 1 (0x1)
recvfrom(5,"HTTP/1.1 404 Not Found\r\nConten"...,16384,0x0,NULL,0x0) = 1143 (0x477)
clock_gettime(4,{15129.316729624 })              = 0 (0x0)
clock_gettime(4,{15129.316790255 })              = 0 (0x0)
clock_gettime(13,{1331070253.000000000 })        = 0 (0x0)
close(5)                                         = 0 (0x0)
clock_gettime(4,{15129.316950012 })              = 0 (0x0)
SIGNAL 10 (SIGBUS)
process exit, rval = 0
```

With ldd() I've checked if all shared dynamic libraries are available. They are.

What's wrong here?


----------



## trutlze (Mar 14, 2012)

I was running www/newsbeuter in a clang()-compiled kernel/world (Building FreeBSD with clang/llvm). After compiling kernel and world with standard-gcc() www/newsbeuter works just fine.

Problem is partly solved so far.


----------

