Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MathLinkException: MathLinkException 22: MLNextPacket called while the current packet has unread data. #11

Open
RClarkPhysics opened this issue Mar 26, 2020 · 2 comments

Comments

@RClarkPhysics
Copy link

Hi b3m2a1,
I was to follow your guide from:
https://community.wolfram.com/groups/-/m/t/1468475

and when I run this block of code:
ker = SubprocessKernel()
def MEval (expr, wait = True, kernel = ker) :
" " "MEval evaluates a Mathematica expression in the Mathematica kernel" " "
kernel.drain() # just to make sure things are clen
return kernel.evaluate (expr, wait = wait)
ker.start()
ker.start_evaluator()

I get this error:
MathLinkException Traceback (most recent call last)
in
4 kernel.drain() # just to make sure things are clen
5 return kernel.evaluate (expr, wait = wait)
----> 6 ker.start()
7 ker.start_evaluator()

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/SubprocessKernel/SubprocessKernel.py in start(self)
47
48 kernel_open = M.SubprocessKernel_OpenSubprocessNotebook(StartREPL=False)
---> 49 self.evaluate(kernel_open)
50
51 @Property

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/KernelLink.py in evaluate(self, expr, wait)
112 return self._reader.evaluate(expr, wait = wait)
113 else:
--> 114 return self._evaluate(expr, wait = wait)
115
116 def evaluateString(self, expr, wait=True, **opts):

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/KernelLink.py in _evaluate(self, expr, wait)
105 self._evaluateExpr(self.M._add_type_hints(expr))
106 if wait:
--> 107 self.waitForAnswer()
108 return self.get()
109

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/KernelLink.py in waitForAnswer(self)
148 self.__accumulatingPS = [] # some old-ass setting for working with PostScript I assume
149 while True:
--> 150 pkt = self._nextPacket()
151 allowDefaultProcessing = self.notifyPacketListeners(pkt)
152 if allowDefaultProcessing:

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/KernelLink.py in _nextPacket(self)
1404 mark = LinkMark(self).init()
1405 try:
-> 1406 pkt = self.active_link._nextPacket()
1407 except MathLinkException as e:
1408 if e.name == "UnknownPacket":

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/NativeLink.py in _nextPacket(self)
232 def _nextPacket(self):
233 with self._wrap():
--> 234 return self._call("NextPacket")
235
236 def _endPacket(self):

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/HelperClasses.py in exit(self, type, value, traceback)
465 self.parent.thread_lock.release()
466 if self.checkError:
--> 467 self.parent._check_error(self.check)
468
469 ###############################################################################################

~/Library/Mathematica/Paclets/Repository/PJLink-1.1.2/PJLink/NativeLink.py in _check_error(self, allowed)
215 errCode = self._call("Error")
216 if self._isException(errCode, allowed):
--> 217 raise MathLinkException(errCode, self._call("ErrorMessage"))
218
219 def _connect(self):

MathLinkException: MathLinkException 22: MLNextPacket called while the current packet has unread data.

Do you have any idea what I could be doing wrong here?
I'm running this on python 3.7.4 on jupyter notebook
OS: macOS 10.15.2

Thank you for your time

@YechenZhou
Copy link

I have the same problem as you. Have you solved it ? @RandarserousRex @b3m2a1

@RClarkPhysics
Copy link
Author

I couldn't solve it. I ended taking a completely different approach to getting my project to work.

apologies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants