Previously we have not had problems using OpenSIPS compiled for 32bits on Sparc. I am not using any particular option; Makefile is performing the guessing itself.
I will try to compile and test on 64 bits.
Thanks and regards.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OpenSIPS output and Backtrace
In GDB, please print ujiffies :
p ujiffies;
Thanks and regards,
Boogdan
Hello Bogdan.
This is the print you requested:
(gdb) p ujiffies
$1 = (utime_t *) 0xfcc040ec
(gdb) x 0xfcc040ec
0xfcc040ec: 0x00000000
(gdb) x ujiffies
0xfcc040ec: 0x00000000
(gdb) x *ujiffies
0x0: Cannot access memory at address 0x0
(gdb) p *ujiffies
$2 = 0
(gdb)
Please print "jiffies" also,
Another question - are you running on a 32 or 64 arch ?
Thanks and regards,
Bogdan
Hello Bogdan
I am running on SPARC, but OpenSIPS is compiled with 32 bits default compilation.
(gdb) p ujiffies
$1 = (utime_t *) 0xfcc040ec
(gdb) x 0xfcc040ec
0xfcc040ec: 0x00000000
(gdb) x ujiffies
0xfcc040ec: 0x00000000
(gdb) x *ujiffies
0x0: Cannot access memory at address 0x0
(gdb) p *ujiffies
$2 = 0
Hello Bogdan.
Wrong copy & paste
(gdb) print jiffies
$1 = (unsigned int *) 0xfcc040d8
(gdb) x 0xfcc040d8
0xfcc040d8: 0x00000000
(gdb) print *jiffies
$2 = 0
(gdb) x *jiffies
0x0: Cannot access memory at address 0x0
(gdb)
It seams it is a issue with the arch detection - I guess "sparc" is 64b arch and when opensips compiles as for 32b, some mem alignment is screwed.
Do you use any particular compile options or you let the Makefile to do all the detection ?
Regards,
Bogdan
Hello Bogdan.
Previously we have not had problems using OpenSIPS compiled for 32bits on Sparc. I am not using any particular option; Makefile is performing the guessing itself.
I will try to compile and test on 64 bits.
Thanks and regards.
Hello Bogdan.
Today I recompiled OpenSIPS by enforcing 64bits compilation (gcc -m64 flag), and OpenSIPS run without problems.
I think you are right, and the problem is related to variables alignment, but, I am not sure why.
Regards.
Hi Sergio,
For your system, can you run the print here:
uname -p
uname -m
Thanks and regards,
Bogdan