[DGD] xscanf
Blain
blain20 at gmail.com
Fri Feb 10 02:41:00 CET 2017
Is this right?:
DEBUG= -g -DDEBUG -ggdb3
---
Exception: STATUS_ACCESS_VIOLATION at eip=0042402F
eax=00000000 ebx=00000010 ecx=00000000 edx=20111822 esi=00000000
edi=611D9DAE
ebp=0023B708 esp=0023B6D0
program=C:\Users\Blain\Data\mud\core\bin\dgd-1.5.5-debug, pid 5348, thread
main
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame Function Args
0023B708 0042402F (0023BC58, 0023BC18, 00000008, 0023B734)
0023BB68 004702E8 (0023BC58, 00000001, 004AD0FC, 00000000)
0023BBC8 00427816 (0023BC58, 2011181D, 0023BC08, 00000000)
0023BCC8 0042897B (0023BDB8, 7FA20610, 00000000, 00000004)
0023BD28 00427E8F (0023BDB8, 2011B17A, 00000103, 7FA20600)
0023BE28 0042897B (0023BEF8, 7FA20638, 00000000, 00000005)
0023BE88 00427E8F (0023BEF8, 2011AD53, 0023BEC8, 0040BC66)
0023BF68 0042897B (0023C048, 7FA20638, 00000000, 00000005)
0023BFC8 00427E8F (0023C048, 2011ACE3, 0023C0B8, 00428A1A)
0023C0B8 0042897B (0023C198, 7FA20638, 00000000, 00000005)
0023C118 00427E8F (0023C198, 2011B206, 0023C148, 00485319)
0023C208 0042897B (0023C2E8, 7FA20638, 00000000, 00000005)
0023C268 00427E8F (0023C2E8, 2010F9E5, 0023C2B8, 200C11BC)
0023C358 0042897B (0023C588, 7FA20610, 00000000, 00000004)
0023C3A8 0042908F (0023C588, 7FA20638, 00000000, 2009DBEA)
0023C3E8 00467551 (0023C588, 00000002, 004ACB84, 0048C161)
End of stack trace (more stack frames may be present)
On Thu, Feb 9, 2017 at 6:34 PM, Raymond Jennings <shentino at gmail.com> wrote:
> If you haven't been screwing with DGD's source in "warranty voiding" ways,
> get a stack trace of the segfault and send it to dworkin. Recompiling DGD
> with -ggdb3 is probably helpful.
>
> "DGD should never crash" (tm).
>
> Normally the only exception is an infinite recursion (which a finite stack
> rlimits should catch anyway) so if the ONLY thing changing is dgd's version
> number it's probably a bug in DGD.
>
> On Thu, Feb 9, 2017 at 3:37 PM, Blain <blain20 at gmail.com> wrote:
>
> > I tested sscanf(str, str, arr...) on a few different versions of DGD and
> it
> > works on 1.5 and 1.5.1, but breaks on 1.5.2. According to my differ, it
> > seems that sscanf() was rewritten between versions 1.5.1 and 1.5.2. :o)
> >
> > On Thu, Feb 9, 2017 at 3:33 PM, Blain <blain20 at gmail.com> wrote:
> >
> > > Der. Calling sscanf(str, str, arr...) is segfaulting. I even tried it
> > > with a bare bones klib. (Oh how I hate segfaults.)
> > >
> > > On Wed, Aug 12, 2015 at 7:08 PM, Blain <blain20 at gmail.com> wrote:
> > >
> > >> Thanks, Felix. I don't feel so dirty now.
> > >>
> > >> I'm having a lot of fun coding lately. :)
> > >> On Aug 10, 2015 11:53 AM, "Felix A. Croes" <felix at dworkin.nl> wrote:
> > >>
> > >>> Blain <blain20 at gmail.com> wrote:
> > >>>
> > >>> > mixed *xscanf(string str, string format)
> > >>> > {
> > >>> > array ret;
> > >>> >
> > >>> > ret = allocate(50);
> > >>> > sscanf(str, format, ret...);
> > >>> > return ret[.. member(ret, null) - 1];
> > >>> > }
> > >>> >
> > >>> > Does this seem to be the best way to handle this? I feel dirty
> > >>> arbitrarily
> > >>> > limiting it to 50.
> > >>>
> > >>> There is a hard limit of 128 arguments to any function, so you can
> use
> > >>> that as your constant and be sure that you are not imposing any
> > >>> additional
> > >>> limits.
> > >>>
> > >>> Regards,
> > >>> Felix Croes
> > >>> ____________________________________________
> > >>> https://mail.dworkin.nl/mailman/listinfo/dgd
> > >>
> > >>
> > >
> > ____________________________________________
> > https://mail.dworkin.nl/mailman/listinfo/dgd
> >
> ____________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
>
More information about the DGD
mailing list