Wissem Ayari
Wissem Ayari

Reputation: 91

Cygwin Exception : open stack dump file

I am developing in C language a linux command interpreter on windows 7, using Cygwin. My code was compiling and running correctly, until I get this error:

cygwin_exception::open_stackdumpfile:Dumping stack trace to jstack dump

Upvotes: 9

Views: 43031

Answers (6)

Cătălina Sîrbu
Cătălina Sîrbu

Reputation: 1283

I had this error trying to use memcpy(). The problem was that I was trying to copy an array into a non-initialized pointer.

The error code:

int array[] = {1, 2, 3, 4, 5};
int *arrPtr = array;
int *mem_ptr = NULL;                           // this row
memcpy(mem_ptr, array, 5 * sizeof(int));

How I solved:

int array[] = {1, 2, 3, 4, 5};
int *arrPtr = array;
int *mem_ptr = malloc(sizeof(int) * 5);       // this row
memcpy(mem_ptr, array, 5 * sizeof(int));

Upvotes: 1

OMARGE
OMARGE

Reputation: 13

I have similar problem when concatenating char arrays with strcpy and strcat

const char *host = "http://myaddress";
const char *uri = "/api/devices/";
const char *changes = "getChanges?";
const char *token = "token=something";
char *link;

strcpy(link, host);
strcat(link, uri);
strcat(link, changes);
strcat(link, token);
puts(link);

The problem occured when strcpy was executing. I solved it by changing char *link as char link[50]

Upvotes: 0

dimm
dimm

Reputation: 51

I was getting this error in the followin ex:

v=d/t;

both t and d were declared as int; d was calculated;

I forgot to express the way we get(calculate) t. this was bringing me to that type of error.

Upvotes: -1

voidvector
voidvector

Reputation: 1996

This applies to ConEmu and maybe other Windows-based terminal emulators, you might need to set your "scroll back" or "buffer height" to something less than 2000.

The actual number depends on width of your terminal. For me, the maximized window has 240 characters across, which can support around 3200 lines of "scroll back" before cygwin apps start crashing.

I am able to test this by running ls -l -R / | head -n 2000 or similar outputs on a clean terminal, and induce cygwin apps to crash.

Upvotes: 0

Steve
Steve

Reputation: 71

I find that I get this error when I try passing a value into a function when the funtion is expecting a pointer.

For example:

int arr[] = {1, 2, 3};
int i = 3;
memmove(i, arr, 3);

This code will get a cygwin_exception::open_stackdumpfile because you are passing int i, which is a value, into a function which is expecting a memory address.

However, this is based purely off of my experience and it is certainly possible that there are other causes for this error.

Upvotes: 7

salouri
salouri

Reputation: 821

I just had this problem today. I found out that there was another cygwin session (shell) running in the background. Its possible that they affected each others memory locations/allocation. Once I killed them both, opened a new one, and everything back to normal! I hope it helps

Upvotes: 2

Related Questions