On Tue, Feb 25, 2014 at 11:28:36AM -0500, Kyle McMartin wrote:
On Tue, Feb 25, 2014 at 01:18:57PM +0000, Richard W.M. Jones wrote:
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0 __GI_strspn (s=s@entry=0x0, accept=accept@entry=0xb6d0576c ";")
> at strspn.c:33
> 33 for (p = s; *p != '\0'; ++p)
> (gdb) t a a bt
>
> Thread 1 (Thread 0xb6f82000 (LWP 2133)):
> #0 __GI_strspn (s=s@entry=0x0, accept=accept@entry=0xb6d0576c ";")
> at strspn.c:33
> #1 0xb442e804 in strtok (s=0x0, delim=0xb6d0576c ";") at strtok.c:45
> #2 0xb65dd4e0 in zorba::append_env_var (env_var_name=<optimized out>,
> pathsVector=std::vector of length 3, capacity 4 = {...})
> at
/home/rjones/d/fedora/zorba/master/zorba-2.9.1/src/context/root_static_context.cpp:102
Yeah, I debugged this last night, the problem is zorba isn't checking
the return value of getenv, and as a result, passing a NULL ptr to
strtok. Oddly, the optimized assembler versions in glibc for x86_64
happily just return NULL, whereas on ARM and other platforms, they
dereference NULL and take a SIGSEGV.
You mean .. building on ARM has helped to shake out bugs in x86?
The system works!
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top