Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7513625
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T00:14:27+00:00 2026-05-30T00:14:27+00:00

This segfault happens when I am running: alignarray *aligns = g_ptr_array_sized_new(N_DEFAULT_ALIGNS); …, where alignarray

  • 0

This segfault happens when I am running:

alignarray *aligns = g_ptr_array_sized_new(N_DEFAULT_ALIGNS); 

…, where alignarray is just GPtrArray.

This statement runs successfully for several times, and then suddenly fails, reporting “No source available for g_slice_alloc()“. After searching, I try to use export G_SLICE=always-malloc to disable the slicing memory allocation, but it still fails…

Or is it because somewhere in the code I did not handle the memory well? Currently my problem is that I do not know where to debug. I tried gdb and valgrind, but both cannot help.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T00:14:28+00:00Added an answer on May 30, 2026 at 12:14 am

    It’s strange that setting G_SLICE=always-malloc still gives this problem. The slice allocator is a way of avoiding the overhead of allocating memory by reusing memory for actions that are similarly sized.

    If you allocate 100 things that are 8 bytes long (like 2 pointers on 32-bit) free those and allocate some more then you’ll reuse the same memory. The big caveat is that you must ensure that memory that was allocated using the slice allocator is freed using the slice allocator functions – directly through g_slice_free or indirectly through something like g_object_unref Check in your code that you’re not freeing other instances of GPtrArray (or something of a similar size) with g_free

    You may be able to identify where the erroneous freeing or corruption is occurring using valgrind. When using valgrind you must set G_SLICE=always-malloc

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to debug a segfault, and I have this output from gdb:
This error just started popping up all over our site. Permission denied to call
I get a segfault from this line of code: int fatblob[1820][286][5]; Why is that?
This line is causing segfault to me: 30 printf(st_name:\t%s\n, &p_str_tab[p->st_name]); I've tried to trace
This is a mad-hack , but I am trying to deliberately cause a segfault
This code is giving me segfault : #include <stdio.h> int main(int argc,char** argv[]){ int
This behavior is strange because I could not get the segfault if the shared
This program compiles fine but seg faults when running the value->getSmall in Period::display() .
I have a program that segfaults from pointer arithmetic sometimes. I know this happens,
My brain had a segfault this morning trying to understand exactly how and when

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.