Sponsored Content
Top Forums Programming Solaris - BUS error with optimize mode Post 302944646 by fpmurphy on Wednesday 20th of May 2015 10:22:59 PM
Old 05-20-2015
The code is badly written:

Code:
struct _a
{
	int _a1;
	uint64_t _a2;
}


int f2(uint64_t *obj)
{
        // obj is of type uint64_t. Not an unsigned long long!
        // this could be any value, including NULL! 
        // no wonder a BUS ERROR in certain circumstances  
	printf("%llu", *obj); <--- BUS ERROR
	
	return 0;
}

void f1()
{
	...
        // how is malloc() expected to know what size space to allocate
        // no test for NULL!
	_a* obj_a = malloc();
	
        // a random value will be returned.  Should zeroize structure
        // why the use of %llu. _a2 is a uint64_t  
	printf("%llu", obj_a->_a2); <--- OK
        // you should use an appropriate cast here
	f2(&obj_a->_a2);
}

 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Bus Error

This may belong in the C Programming forum, but here goes anyway... What would cause a bus error? I searched google for a cause, but came up with some conflicting reports... Could it be caused by disk space? A lot of the pages I found mentioned linking with the incorrect versions of the... (4 Replies)
Discussion started by: LivinFree
4 Replies

2. UNIX for Dummies Questions & Answers

bus error on solaris

Hi there I am running soalris 9 on a sun fire 480r and all of a sudden (today) whenever the users run the command `top` we get the following message `bus error` does anybody have any information on what this is all about and whether there is a routine i can perform to gather more... (3 Replies)
Discussion started by: hcclnoodles
3 Replies

3. Programming

BUS error

Hi! I've got a program which runs fine under Linux, but I have compiled it to run under SunOS 5.8 in a Sparc computer, and now it sometimes fails with "bus error". Ussing gdb I surfed to the error line, which is *pointer = some_vector; where some_vector is a 16 byte struct (4 integers)... (1 Reply)
Discussion started by: shesatmine
1 Replies

4. Solaris

split bus mode

Hi there, I have two SunBlade 2000s that I want to connect to a single D1000. I am told that I need to do a split bus mode. I don't really understand what that means. Does that mean that half of the storage disks will be assigned to one host and the others to the other host? How do I get... (18 Replies)
Discussion started by: Arkayev
18 Replies

5. UNIX for Dummies Questions & Answers

bus error (coredump)

Hi all, I am getting bus error problem in SunOS. Can you please help me out in this regard. Actually, my entire code till the last line has been executed. But after tht i am getting a bus error. Please help me. Thanks in advance. Charu. (4 Replies)
Discussion started by: charu
4 Replies

6. HP-UX

Bus Error

I am getting bus error when i include "#!/bin/ksh". If i remove interpreter then script is working. Can anyone explain this and how can i avoid this error? Operating System is HP-UX B.11.23 U 9000/800 1091834454 (2 Replies)
Discussion started by: anbu23
2 Replies

7. Programming

Bus error

Hi everyone, I have a GUI project and when I run it and left in idle state for a long time(there is nothing done, just opened GUI, no more actions),I get bus error after trying to do anything with it. I've tried to build it in debug mode and use gdb, but I don't get any error in debug mode.It... (3 Replies)
Discussion started by: sisi
3 Replies

8. Programming

Bus Error: 10...Help please!

Hi all, I am writing a phonebook program to store names and number using a list. Here is the code for the function which allows the user to enter the name and number (where the error occurs). //THIS FUNCTION ADDS A NEW ENTRY TO THE phonebook_list void insert(void){ //variables int... (5 Replies)
Discussion started by: kdejan
5 Replies

9. Solaris

Howto solve this disk error in Solaris in single user mode

Hi all, OS is Solaros 10 Sparc While doing Netbackup upgradation to 7.5 , the server was asked to reboot. But then it came up in single user mode, and after I typed format command it showed some disk error. bash-3.00# format Searching for disks...WARNING:... (2 Replies)
Discussion started by: manalisharmabe
2 Replies
ATOMIC_AND(3)						   BSD Library Functions Manual 					     ATOMIC_AND(3)

NAME
atomic_and, atomic_and_32, atomic_and_uint, atomic_and_ulong, atomic_and_64, atomic_and_32_nv, atomic_and_uint_nv, atomic_and_ulong_nv, atomic_and_64_nv -- atomic logical 'and' operations SYNOPSIS
#include <sys/atomic.h> void atomic_and_32(volatile uint32_t *ptr, uint32_t bits); void atomic_and_uint(volatile unsigned int *ptr, unsigned int bits); void atomic_and_ulong(volatile unsigned long *ptr, unsigned long bits); void atomic_and_64(volatile uint64_t *ptr, uint64_t bits); uint32_t atomic_and_32_nv(volatile uint32_t *ptr, uint32_t bits); unsigned int atomic_and_uint_nv(volatile unsigned int *ptr, unsigned int bits); unsigned long atomic_and_ulong_nv(volatile unsigned long *ptr, unsigned long bits); uint64_t atomic_and_64_nv(volatile uint64_t *ptr, uint64_t bits); DESCRIPTION
The atomic_and family of functions load the value of the variable referenced by ptr, perform a logical 'and' with the value bits, and store the result back to the variable referenced by ptr in an atomic fashion. The *_nv() variants of these functions return the new value. The 64-bit variants of these functions are available only on platforms that can support atomic 64-bit memory access. Applications can check for the availability of 64-bit atomic memory operations by testing if the pre-processor macro __HAVE_ATOMIC64_OPS is defined. SEE ALSO
atomic_ops(3) HISTORY
The atomic_and functions first appeared in NetBSD 5.0. BSD
April 11, 2007 BSD
All times are GMT -4. The time now is 05:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy