Best of Tech
Segfault When Allocating Memory
I compiled an application that causes a segfault when run. The expected size of allocated memory is expected to be large, less than 1000000. The offending line seems to be:
sample_space=calloc(sample_space_size, sizeof(float));
This is likely to result in the following:
sample_space=calloc(820510, 4);
The program compiles fine with:
gcc a2.c -o a2 -lm -lfftw3 -lz
Any suggestions?
—
Mike
m.giggey@utoronto.ca
When you allocate memory, you must check to be
sure you actually received the memory block you
requested. If not, the memory allocation functions,
such as calloc, return NULL. Dereferencing NULL
generates a segfault. It's possible you're hitting
a user quota limit. Run ulimit -a to see what your
limits are currently set to. See man ulimit for
information on how to change these values and man
calloc for more information about how these allocation
functions work.
—
Chad Robinson
chad@lucubration.com
I suggest you arm yourself with gdb. Compile using
the -g option and run under the debugger. When your
program gets a segfault, you can do a trace-back. A
nice graphical interface to gdb, called ddd, is available.
Become familiar with these tools, and your life
will be much better.
—
Usman S. Ansari
uansari@yahoo.com
X Magic Cookies?
I recently upgraded to KDE 3.3, and now find that I am having problems with my magic cookies whenever I run a graphical program with su. For example, here is what happens in a typical attempt to launch xadminmenu:
root@toad:/home/nathan/Desktop# xadminmenu root@toad:/home/nathan/Desktop# Xlib: connection to ":0.0" refused by server Xlib: Invalid MIT-MAGIC-COOKIE-1 key Gtk-WARNING **: cannot open display: :0.0
If I first copy .Xauthority from /home/nathan to /root/, it works. My
magic cookies are all happy. I have tried using xauth
add to make it
so that root's magic cookies match my own, but it fails each time for
toad:0 and unix:0 and works for toad:10 and unix:10. Am I missing
something obvious here, other than that I should break down and read up
on X? Is my only real choice to run a quick Perl script on login that
copies .Xauthority over so I don't have to do it manually? At present,
I'd really rather not use yet another hack to keep my system running.
—
Nathan Oliphant
nathan@oliphantparts.org
Several situations can be the cause of your problem:
1) Make sure you have the DISPLAY variable set in your environment, it should be set to something like :0.0 or localhost:0.0.
2) Make sure your account has ownership permissions on the actual X display you are trying to use. That is, if your account is the one permitted to own/use the display. Use the xhost command to find out which user's client programs can use your display, including local ones. Do a man xhost to learn about the options for this command.
3) The Xlib: Invalid MIT-MAGIC-COOKIE-1 key message also may indicate that an X server already is running in your system as display 0. Before running xadminmenu or any other X command, do a ps ax to find out if there is an X process already running. If so, try changing to that display with Ctrl-Alt-Fx, Fx being one function key on your keyboard; F7 is commonly used for display 0.
4) Do a man startx to find options for starting X; there are many
options and combinations for doing so.
—
Felipe Barousse Boué
fbarousse@piensa.com
Missing Library
Where might I obtain the libmp3lame.so.0 library? I need it for mplayer.
When I tried to install the RPM packages for mplayer, it informed me that
I need this library, whatever it is.
—
David A. Barnett
davecom@io.com
Install the lame and lame-libs packages. I believe the latest
version for Red Hat is 3.92-2. An excellent search
tool for RPM packages is www.rpmfind.net.
—
Chad Robinson
chad@lucubration.com
Microsoft Authentication for Linux VPN
I've been looking for information on how to set up a
Linux box as a VPN server and have it authenticate
against Microsoft Active Directory. I don't want
to maintain two separate lists of users and passwords.
Can you point to me any
sources you might know of on how to do it, assuming
it's possible?
—
Richard Rosenheim
rlr0304@rlrmail.com
The same question came up on the SourceForge mailing list for Poptop, a Linux VPN server that supports Windows clients. One user provided a collection of information resources that should get you started: sourceforge.net/mailarchive/forum.php?thread_id=5787492&forum_id=8250.
Before beginning this project, it would be a good
idea to get a simple Samba file server set up on the
machine and authenticate against your Microsoft
directory. Even if you later disable the services,
there are numerous guides for doing so, it will
provide the core support services that Poptop can
use to do the same thing.
—
Chad Robinson
chad@lucubration.com
The document on this Web page may prove useful to you:
hawkerc.net/staff/abartlet/comp3700/final-report.pdf.
Also, see this page,
asia.cnet.com/enterprise/netadmin/0,39035505,39081966-39000223c-1,00.htm,
although it talks about older software versions.
—
Felipe Barousse Boué
fbarousse@piensa.com
Drivers for Network Card
I recently got a new computer and decided to install Linux on the old one. I installed LinuxMandrake 10.0, and everything is working well so far except for accessing the Internet. There aren't any Linux USB drivers for the modem I use, so I tossed an old network card I had lying around into the computer. I think it's a Realtek 8139, but I'm not sure. The sticker on the back reads Farallon PN993, but Linux and Windows both recognize it as a Realtek 8139.
I found a tutorial for the card at www.scyld.com/rtl8139.html and thought, “Great, step-by-step instructions.” So, I downloaded the four files, moved them to my Linux PC and followed the instructions. When I got to the first compiling line:
make KERNVER=`uname +-r` rtl8139.o
I pressed Enter, but all I got was a ton of errors flying across the terminal. I tried the other compiling option:
gcc -DMODULE -Wall -Wstrict-prototypes -O6 -c rtl8139.c
and I got the same errors. I then tried the other suggested compile line:
gcc -DMODULE -D__KERNEL__ -O6 -c rtl8139.c
and again got the same errors. I even tried adding:
-I/usr/src/linux/include -include /usr/src/linux/include/linux/modversions.h
to every compile option. I'm new to Linux, and I
don't know where to go from here. I've tried using
the 8139too driver that came with LinuxMandrake,
but when I select it, it says it's installing,
but it actually goes back to the screen where I say
that I want to choose the driver manually. I'm in a
never-ending loop. Could anyone help? Thanks.
—
Sean Bowman
poliwhirl74@mn.rr.com
Unfortunately, the driver you referenced in the URL above was designed for 2.4 kernels, and Mandrake 10.0 includes a 2.6 kernel (2.6.3). The 2.6 kernel series included numerous changes to how driver modules are built, so many 2.4 drivers no longer work. Fortunately, the 8139 driver has long been a part of the kernel source tree, so you almost certainly don't need to go through these gyrations.
The real answer is to continue to pursue why Mandrake is putting you
into an endless installation loop for this driver. You probably would be best
off posing your question on the Mandrake support site, a free resource that
generally provides fast answers to most Mandrake-related problems
(www.mandrakeexpert.com).
—
Chad Robinson
chad@lucubration.com
Mandrake Linux's Web site states that Realtek 8139 cards are supported; being RTL 8139 reported as supported hardware and RTL-8139C and RTL-8139D as officially tested LAN cards. Now, I would suggest that you use the appropriate driver as a loadable kernel module. There are actually three possible drivers, one is rtl8139, another is 8139too and lastly 8139cp, with the two latter ones used in most current Linux distributions.
Try issuing, as root, the command modprobe 8139too, modprobe 8139cp or modprobe rtl8139. There is a high probability that you already have the required kernel module compiled and ready to use from your stock installation of Mandrake 10. If all this works fine, you may need to add a line like the following to your /etc/modprobe.conf file for automatic loading of kernel modules at boot time (of course, use the working module, in the example 8130too):
alias eth0 8139too
—
Felipe Barousse Boué
fbarousse@piensa.com
Almost always when a network card is supported by the
distribution, you don't need to do anything to have
it work on boot. If you don't have any important
data on the system, simply re-install, and Mandrake
should detect the card automatically and choose its
preferred driver.
—
Don Marti
dmarti@ssc.com
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- RSS Feeds
- New Products
- Using Salt Stack and Vagrant for Drupal Development
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- Validate an E-Mail Address with PHP, the Right Way
- Readers' Choice Awards
- New Products
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.




12 min 20 sec ago
5 hours 50 min ago
11 hours 50 min ago
12 hours 12 min ago
12 hours 23 min ago
12 hours 27 min ago
12 hours 57 min ago
15 hours 48 min ago
16 hours 24 min ago
16 hours 25 min ago