Diff
Not logged in

Differences From Artifact [522bed78fa]:

To Artifact [c75d3f9a69]:


1571
1572
1573
1574
1575
1576
1577







1578

1579
1580
1581
1582
1583
1584
1585
  size_t i;
  Blob out;
  size = backtrace(array, sizeof(array)/sizeof(array[0]));
  strings = backtrace_symbols(array, size);
  blob_init(&out, 0, 0);
  blob_appendf(&out, "Segfault during %s", g.zPhase);
  for(i=0; i<size; i++){







    blob_appendf(&out, "\n(%d) %s", i, strings[i]);

  }
  fossil_panic("%s", blob_str(&out));
#else
  fossil_panic("Segfault during %s", g.zPhase);
#endif
  exit(1);
}







>
>
>
>
>
>
>
|
>







1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
  size_t i;
  Blob out;
  size = backtrace(array, sizeof(array)/sizeof(array[0]));
  strings = backtrace_symbols(array, size);
  blob_init(&out, 0, 0);
  blob_appendf(&out, "Segfault during %s", g.zPhase);
  for(i=0; i<size; i++){
    size_t len;
    const char *z = strings[i];
    if( i==0 ) blob_appendf(&out, "\nBacktrace:");
    len = strlen(strings[i]);
    if( z[0]=='[' && z[len-1]==']' ){
      blob_appendf(&out, " %.*s", (int)(len-2), &z[1]);
    }else{
      blob_appendf(&out, " %s", z);
    }
  }
  fossil_panic("%s", blob_str(&out));
#else
  fossil_panic("Segfault during %s", g.zPhase);
#endif
  exit(1);
}